我需要將一個網站的asp.net成員資格數據從包含多個站點條目的sql server數據庫轉移到另一個sql server。將一個站點的asp.net成員資格記錄從一個sql server轉移到另一個sql server
我正在尋找一些現有的/已知的方法做到這一點?我嘗試了Web Deploy實用程序,但找不到任何傳輸數據庫記錄的方法。
任何幫助將不勝感激。
謝謝。
我需要將一個網站的asp.net成員資格數據從包含多個站點條目的sql server數據庫轉移到另一個sql server。將一個站點的asp.net成員資格記錄從一個sql server轉移到另一個sql server
我正在尋找一些現有的/已知的方法做到這一點?我嘗試了Web Deploy實用程序,但找不到任何傳輸數據庫記錄的方法。
任何幫助將不勝感激。
謝謝。
ASP.NET的成員資格數據庫只是一個「普通的」SQL Server數據庫,所以問題實際上是「如何將SQL Server數據庫從一臺服務器轉移到另一臺服務器,只包含其中一部分數據」。
1)由於舊服務器上的數據庫包含多個站點的成員信息,因此您必須知道如何在數據庫中查找「您的」站點(您想要傳輸的站點)的數據。
我在ASP.NET網站上找到了關於this tutorial中ASP.NET成員數據庫模式的信息。
向下滾動到「第3步:查看架構的核心表」。
的關鍵信息是這樣的,尤其是我做了大膽的句子:
的
aspnet_Applications
表是什麼定義這些分區。使用數據庫存儲用戶帳戶信息 的每個 應用程序由此表中的一行表示。aspnet_Applications
表 有四列:ApplicationId
,ApplicationName
,LoweredApplicationName
和Description
。ApplicationId
是 類型uniqueidentifier
並且是表的主鍵;ApplicationName
爲每個 應用程序提供了一個獨特的人性化名稱。其他與會員和角色相關的錶鏈接到
aspnet_Applications
中的ApplicationId
字段。例如,aspnet_Users
表中包含每個用戶帳戶的記錄, 有一個ApplicationId
外鍵字段;同上aspnet_Roles
表。這些表中的ApplicationId
字段指定用戶帳戶或角色所屬的應用程序分區 。
簡單:你必須找到你想要的aspnet_Applications
表中的所有其他錶轉移,採取從ApplicationId
列的ID,找到的所有行具有相同ApplicationId
網站。
2)現在您已經知道如何在數據庫中查找您網站的數據,您可以將數據移動到新服務器。這不是ASP.NET特有的,它只是簡單的SQL Server的東西 - 你只需要在新的服務器上創建相同的數據庫,但只能與你的網站的數據。
我能想到的兩種方法可以做到這一點:
方法1:
delete from aspnet_Users where ApplicationID <> 'X'
X
是你的網站從aspnet_Applications
表的ApplicationID
)路2 :
insert into aspnet_Users
select * from [Name_of_old_server].[Name_of_old_database].dbo.aspnet_Users
where ApplicationID = 'X'
X
是你的網站從aspnet_Applications
表的ApplicationID
)
你知道如何找到這個網站的具體數據? - 你知道你需要複製什麼,只搜索一種自動方式,或者你什麼都不知道,有什麼可以幫助的? – Aristos 2012-02-11 10:49:45
我正在尋找一種自動化的方式。某些類型的腳本等。 – Puneet 2012-02-13 12:12:56