2013-03-08 71 views
0

在我的家用計算機上,我正在開發ASP.NET網站項目。它伴隨着一個SQL Server 2012數據庫。如何成功地將ASP.NET網站和SQL Server數據庫傳輸到另一臺機器

我試圖將這個項目轉移到我的筆記本電腦。我已成功恢復筆記本電腦上的數據庫並修復了ASP.NET網站項目(web.config文件)中的一些連接錯誤。

在我的數據庫中,我已經集成了aspnetdb來處理我的用戶/角色/成員以及我擁有的其他表。不幸的是,在將整個數據庫傳輸到我的筆記本電腦後,似乎刪除了我的角色,但不是我的用戶。因此,當用戶嘗試登錄到我的asp.net網站時導致問題。

我已經加載了asp.net網站管理工具,正如我預料的那樣,它有3個用戶和0個角色。我只是想重新創建角色,因爲我的數據庫非常重要。奇怪的是,轉移只會刪除角色而不是用戶。但是,點擊「創建或管理角色」後,我收到錯誤消息。試圖使用此工具創建新用戶時,只想提及相同的事情。

的錯誤:

An error was encountered. Please return to the previous page and try again.

The following message may help in diagnosing the problem: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) at System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean isMembership, String methodName, Object[] parameters, Type[] paramTypes) at ASP.security_roles_manageallroles_aspx.BindGrid() at ASP.security_roles_manageallroles_aspx.Page_Load() at System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

我認爲問題出在我交給我的筆記本電腦和asp.net網站管理工具不能識別SQL Server實例轉移asp.net網站項目文件夾,所以我需要以某種方式更新這個以匹配新的sql服務器實例。

我該如何解決我的問題?

UPDATE:

我剛剛檢查了我家裏的電腦數據庫,有趣的是,沒有存儲在aspnet_roles表中的數據。但是有些用戶存儲在aspnet_users表中。現在爲什麼它不在該表中存儲角色? :/

我很迷惑,如果它沒有存儲在該表中的角色..它將在哪裏存儲它們?

Update 2的

我剛纔注意到了角色獲得存儲在App_Data文件夾到ASPNETDB而不是我所連接我的SQL服務器上的數據庫。我不知道這是如何發生的,因爲它用來添加到我的SQL服務器。有沒有一種方法可以將我的aspnetdb表和數據轉移到我的sql數據庫中?

我剛剛通過創建一個新用戶進行了測試。新用戶存儲在我的sql數據庫中。但它不會被存儲在aspnetdb中,但角色將被存儲在aspnetdb中,而不是存儲在我的sql數據庫中的表中。

問題:如何組合這些並只讓它在我的sql數據庫中更新數據?

更新3

我固定與角色和用戶的問題得到存儲在2個DIFF提供商,我不得不它們指向一個單一的供應商。

+0

我深感驚訝的是,它「已刪除」的角色。你確定這是一個存在/缺席問題,而不是權限問題(選擇數據的權利)? – GalacticCowboy 2013-03-08 16:45:56

+0

不,它不是一個許可問題。角色已經完全消失了。從sql管理工作室和網站管理工具 – Kai 2013-03-08 17:21:22

+0

中可以看出在那種情況下,你是如何傳輸數據庫的?如果你只是複製了MDF,它不應該刪除任何東西。你編劇了嗎? – GalacticCowboy 2013-03-08 17:22:51

回答

2

你如何引用你的數據庫?你有機會在連接字符串(或IP地址)的名稱。檢查以確保它也被更改。這很可能在你的web.config文件中。如果您仍然使用舊服務器設置,則可以將所有表和記錄實際導出到一個sql文件,然後將其上傳到新服務器。

+0

我已經更新了web.config中的連接以匹配sql server的新實例。而且艾爾迪從我的家用機器上獲得了附加.mdf和.log文件的表格和記錄。它只是一些resoan缺少的角色 – Kai 2013-03-08 17:18:46

+0

是否有另一個地方的網站管理工具需要更新引用數據庫?除了web.config,我已經更新瞭如上所述 – Kai 2013-03-08 17:22:05

+0

根據錯誤,它或者是因爲它無法找到數據庫,使用您提供的路徑,或者因爲數據庫沒有設置爲接受遠程連接。您可能沒有以相同的方式設置此服務器。看看這個:http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx – jason 2013-03-08 17:26:18

相關問題