我如何重新集群托管在 SQL Azure 中的 table
How can I recluster a table hosted in SQL Azure
通常在 SQL 服务器中,运行以下内容就可以了:
ALTER TABLE dbo.ChangeLog DROP CONSTRAINT PK_ChangeLog
ALTER TABLE dbo.ChangeLog ADD CONSTRAINT PK_ChangeLog
PRIMARY KEY NONCLUSTERED (ChangeLogID)
CREATE CLUSTERED INDEX IX_ChangeLog_FTRequestID
ON dbo.ChangeLog (FTRequestID);
但是,当我尝试 运行 它针对 Azure 托管的数据库时,出现以下错误:
Tables without a clustered index are not supported in this version of
SQL Server. Please create a clustered index and try again.
显然,如果我首先尝试创建第二个聚簇索引,则会收到此错误:
Cannot create more than one clustered index on table 'dbo.ChangeLog'.
Drop the existing clustered index 'PK_ChangeLog' before creating
another
这似乎是一个陷阱 22。
有什么办法可以解决这个问题,而无需删除并重新创建整个 table?
SQL 数据库的当前版本不支持堆。请将您的 SQL 数据库服务器升级到 SQL Database Update V12。
通常在 SQL 服务器中,运行以下内容就可以了:
ALTER TABLE dbo.ChangeLog DROP CONSTRAINT PK_ChangeLog
ALTER TABLE dbo.ChangeLog ADD CONSTRAINT PK_ChangeLog PRIMARY KEY NONCLUSTERED (ChangeLogID)
CREATE CLUSTERED INDEX IX_ChangeLog_FTRequestID ON dbo.ChangeLog (FTRequestID);
但是,当我尝试 运行 它针对 Azure 托管的数据库时,出现以下错误:
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.
显然,如果我首先尝试创建第二个聚簇索引,则会收到此错误:
Cannot create more than one clustered index on table 'dbo.ChangeLog'. Drop the existing clustered index 'PK_ChangeLog' before creating another
这似乎是一个陷阱 22。
有什么办法可以解决这个问题,而无需删除并重新创建整个 table?
SQL 数据库的当前版本不支持堆。请将您的 SQL 数据库服务器升级到 SQL Database Update V12。