2012-05-19 33 views
1

我是相當新的登錄系統visual studio自帶,我一直在想是否有可能將所有由sqlexpress自動創建的用戶信息從sqlexpress轉移到我自己的數據庫?我注意到ASPNETDB.MDF包含爲用戶創建的數據庫信息,我希望使用它或將其存儲在我自己的sqlserver而不是sqlexpress中。如何將我的登錄系統從sqlexpress傳輸到我自己的服務器?

最終我的目標是把下面的連接字符串更改到包含我自己的服務器和數據庫的名稱,我自己的連接字符串:

<connectionStrings> 
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated   Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+0

替代解決方案:如果您正在使用./SQLEXPRESS從項目中分離ASPNETDB.MDF,請在要使用的服務器內創建一個新數據庫,使用剛剛創建的新數據庫運行aspnet_regsql,然後修改Web中的CONNECTIONSTRINGS。配置訪問您的新數據庫。那爲我做了。 –

回答

2

是的,你可以做到這一點。 SQLEXPRESS數據庫中的股票ASP.NET成員資格表是使用位於%WINDIR%\Microsoft.Net\Framework\(FrameworkVersion)中的aspnet_regsql.exe工具生成的。所以你應該能夠在你指向新的sql server的時候運行這個工具。然後備份並恢復ASPNETDB數據庫中的數據(只要您的sqlexpress和sql server版本匹配)。 Here是關於成員表生成的一篇很好的總體文章。

+0

在我自己的數據庫上運行aspnet_regsql後,我收到一個錯誤,提示「System.ArgumentException:密鑰'attachdbfilename'的值無效」。這是爲什麼? –

+1

您是否試圖在生成新表的同時附加? –

+1

再次,我會嘗試讀通過[這篇文章](http://www.asp.net/web-forms/tutorials/security/membership/creating-the-membership-schema-in-sql-server-cs) –

相關問題