1

我正在asp.net會員網站上工作。我自動創建了成員資格提供程序,現在將其存儲在解決方案中的sql express數據庫中。我想要將所有表格移到sql數據庫而不是sql express。昨天晚上,我將sql express數據庫附加到sql server management studio,並且能夠看到所有對象。然後,我在Visual Studio中運行我的解決方案,並且出現錯誤:LOGIN FAILED爲sql express數據庫,並且解決方案未運行。 我有兩個問題。 1.爲什麼會發生這種情況? 2.如果我使用相同的對象在sql server中創建相同的數據庫,然後指向sql server數據庫而不是sql express數據庫,那麼我是否會遇到與memberhop提供者有關的問題? 在此先感謝。從sql express數據庫創建sql數據庫

+0

當您連接到新的數據庫或用戶登錄到您的網站時,您是否獲得登錄失敗 – JeffO 2010-12-14 21:01:39

+0

我在登錄失敗時正在運行asp.net應用程序,並且正在嘗試打開與數據庫的連接。 – Laziale 2010-12-14 21:57:28

回答

1

聽起來好像您已經將數據庫從一臺主機(運行SQL Server Express)移動到另一臺主機(運行非Express SKU)。它是否正確?

確保您的成員資格連接字符串指向成員(非Express SQL Server)的新位置。按照預期,確保登錄和用戶在新的SQL Server實例中正確安裝。

+0

確實附加到sql server管理工作室意味着移動?因爲我只是附加創建更多的表和SP。 – Laziale 2010-12-14 21:09:58

+0

你能否澄清你採取什麼步驟「附加」? – Greg 2010-12-14 21:13:38

+0

我打開SSMS右鍵單擊數據庫文件夾 - >附加數據庫,然後從我的asp.net應用程序的app_data文件夾中選擇數據庫,然後創建了幾張表,一些存儲過程,然後再次運行asp.net應用程序,我收到了錯誤消息:我的Windows用戶登錄失敗。我正在使用Windows身份驗證。所有這一切都是在當地完成的,沒有什麼是遠程的感謝您的幫助 – Laziale 2010-12-14 21:16:38

1

將數據庫附加到新服務器不會自動創建必要的登錄名。

從您的數據庫的SSMS內運行exec sp_change_users_login 'Report'

如果它回來了,在結果集什麼,你需要運行exec sp_change_users_login 'Auto_Fix', '<username>'

其中是第一個結果集的用戶名。