2012-01-06 27 views
2

SQL Azure仅支持集群主键。 asp.net的SQL成员资格提供程序使用非集群主键创建其表,因为它们是GUID(原因超出了此问题的范围)。asp.net成员表在sql azure中。默认情况下为PK非集群

什么是使这些标准Membership表与SQL Azure兼容的最快和最简单的方法?或者SQL Azure不支持GUID PK?

这是针对我们想要迁移到Azure的已创建的MVC3项目。

UPDATE

SQL Azure的不真正支持非聚集PK的,但它至少需要一个聚集索引。如果您在本地使用SSMS来管理您的Azure数据库,请务必更新到最新版本,否则您会收到一些令人困惑的错误。

回答

2

我们这样做。最简单的方法是使用aspnet_regsqlazure。这里有一些链接:

http://tofutim.wordpress.com/ http://archive.msdn.microsoft.com/KB2006191/Release/ProjectReleases.aspx?ReleaseId=3539

更新

在我们的SQL Azure的会员数据库快速浏览显示,唯一标识符PK的确实非聚集:

CREATE TABLE [dbo].[aspnet_Applications](
    [ApplicationName] [nvarchar](256) NOT NULL, 
    [LoweredApplicationName] [nvarchar](256) NOT NULL, 
    [ApplicationId] [uniqueidentifier] NOT NULL, 
    [Description] [nvarchar](256) NULL, 
    PRIMARY KEY NONCLUSTERED 
    (
     [ApplicationId] ASC 
    ), 
    UNIQUE NONCLUSTERED 
    (
     [LoweredApplicationName] ASC 
    ), 
    UNIQUE NONCLUSTERED 
    (
     [ApplicationName] ASC 
    ) 
) 
GO 

ALTER TABLE [dbo].[aspnet_Applications] ADD DEFAULT (newid()) FOR [ApplicationId] 
GO 
+0

啊不错,我不知道有一个特定的命令来生成SQL Azure会员表。 – 2012-01-06 14:23:06

+0

SQL Azure现在支持V12服务器上的堆。 https://msdn.microsoft.com/library/ms188029.aspx?f=255&MSPPError=-2147217396 – ckarst 2015-08-18 15:24:34

相关问题