6

我正在尝试将数据库从 SQL Server 2008 迁移到 SQL Azure。我尝试迁移的数据库包括 ASP.NET Membership 数据库 (http://www.asp.net/web-forms/tutorials/moving-to-aspnet-20/membership)。当我在我的 SQL Server 2008 数据库中运行该数据库时,它运行良好。但是,当我尝试针对 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)

有人可以帮我解决这个问题吗?谢谢!

4

3 回答 3

5

我遇到了 ASP.NET 成员提供程序表(非聚集索引)的问题,并且缺少存储过程等的"WITH (NOLOCK)"语句。aspnet_Membership_GetNumberOfUsersOnline

此处找到的迁移工具修复了问题并将数据库导出到 Azure。

http://sqlazuremw.codeplex.com/

这是一个很好的向导,可以连接到您现有的 SQL Server 并将选定的数据库迁移到 Azure。

于 2013-11-22T15:20:04.910 回答
2

如果可以,请尝试使用ASP.NET Universal Providers For SqlExpress 1.1(我希望他们更改名称,因为它有点用词不当)。这是官方支持的跨 SQL Azure 和独立 SQL Server 启用 SQL 成员资格、角色和会话提供程序的方法。

以下是其他几个链接供参考:

Scott Hanselman - 介绍 System.Web.Providers

SQL Azure 团队博客 - 使用 SQL Azure 处理会话状态

于 2012-04-13T17:21:04.537 回答
1

SQL Azure 与 SQL Server 不同,因为并非所有功能都受支持。有一个特殊的 SQL Azure 成员脚本来创建数据库。

见这里:http: //support.microsoft.com/kb/2006191/de

我希望这有帮助。

问候。

于 2012-04-13T16:14:08.513 回答