2012-04-13 76 views
5

我正在嘗試將SQL Server 2008中的數據庫遷移到SQL Azure。我正在嘗試遷移的數據庫包括ASP.NET成員資格數據庫(http://www.asp.net/web-forms/tutorials/moving-to-aspnet-20/membership)。這個數據庫在我的SQL Server 2008數據庫中運行時工作正常。但是,當我嘗試使用SQL Azure對用戶進行身份驗證時,出現以下錯誤消息:將ASP.NET成員數據庫遷移到SQL Azure

「此版本的SQL Server不支持沒有聚集索引的表,請創建聚集索引並重試。

但是,我不知道該怎麼做。當我嘗試更新aspnet_Applications表上的索引時,我收到一個外鍵問題。我正在使用以下方法嘗試將我的非聚集索引遷移到聚集索引:

ALTER TABLE aspnet_Applications 
DROP CONSTRAINT PK__aspnet_A__SOMEID 

ALTER TABLE aspnet_Applications 
ADD CONSTRAINT PK__aspnet_A__SOMEID PRIMARY KEY CLUSTERED(ApplicationId) 

有人可以幫我解決這個問題嗎?謝謝!

+0

將服務器升級到支持堆的SQL DB V12,與V11相比,它更接近於SQL獨立版。 – 2015-09-05 05:42:04

回答

2

如果可以,請嘗試使用ASP.NET Universal Providers For SqlExpress 1.1(我希望他們會更改名稱,因爲它有點用詞不當)。這是在SQL Azure和獨立SQL Server上啓用SQL成員資格,角色和會話提供程序的官方支持方法。

這裏有一對夫婦的其他環節以供參考:

Scott Hanselman - Introducing System.Web.Providers

SQL Azure Team Blog - Using SQL Azure for Session State

+0

SQL Azure現在支持V12服務器上的堆,因此這不再是一個問題。https://msdn.microsoft.com/library/ms188029.aspx?f=255&MSPPError=-2147217396 – ckarst 2015-08-18 15:26:54

2

SQL Azure與SQL Server不同,因爲並不支持所有功能。有一個特殊的SQL Azure成員資格腳本來創建數據庫。

在這裏看到:http://support.microsoft.com/kb/2006191/de

我希望這有助於。

問候。

+0

謝謝,這真的幫助我選擇的答案沒有。 – Quibblesome 2012-08-16 19:24:03

+0

鏈接不再工作:( – noelicus 2016-09-12 12:00:13

+0

成員資格提供者已被棄用,因此該腳本將不再工作。但是有一個新的成員資格實現。請看這個:http://aaron-hoffman.blogspot.de/ 2013_02_01_archive.html – MUG4N 2016-09-12 16:56:54

6

我曾與ASP.NET成員資格提供表(非聚集索引)問題和缺少"WITH (NOLOCK)"聲明存儲過程aspnet_Membership_GetNumberOfUsersOnline

此處找到的遷移工具可以解決問題並將數據庫導出到Azure。

http://sqlazuremw.codeplex.com/

這是一個很好的嚮導,可以連接到現有的SQL Server和遷移選定數據庫天青。

+0

此SQL Azure遷移向導做了這個很簡單,並且無縫地解決了aspnet_Membership的所有問題。好東西。 – 2013-12-04 23:57:08

+0

謝謝你真的幫了我很大的忙! – 2014-06-12 12:09:59

+0

下載v5.15的時候,這對我有用。6發佈。 – 2015-09-04 19:07:18