将索引从 SQL Server 2008 迁移到 SQL Azure

Posted

技术标签:

【中文标题】将索引从 SQL Server 2008 迁移到 SQL Azure【英文标题】:Migrating Indexes from SQL Server 2008 to SQL Azure 【发布时间】:2012-04-09 20:22:48 【问题描述】:

我正在尝试将数据库从 SQL Server 2008 迁移到 SQL Azure。我相信我已经成功地将我的所有表和存储过程迁移到了 SQL Azure。但是,当我尝试将记录插入其中一个表时,我收到一条错误消息:

System.Data.SqlClient.SqlException (0x80131904):此版本的 SQL Server 不支持没有聚集索引的表。请创建聚集索引,然后重试。

如何将表索引从 SQL Server 2008 迁移到 SQL Azure。请假设我很愚蠢。

【问题讨论】:

【参考方案1】:

更新 - 此答案仅适用于 SQL Azure(SQL 数据库)的 Web 和商业版本 - 请参阅下面的评论:

与 SQL Server 2008 不同,要在每个表上创建 SQL Azure requires a clustered index。如果您将 SQL Server 2008 架构迁移到包含没有聚集索引的表的 SQL Azure,您将收到问题中提到的错误。将聚集索引添加到有问题的表中,插入就可以正常工作了。

【讨论】:

SQL Azure 不再需要聚集索引来在 V12 服务器上创建表。 msdn.microsoft.com/library/…

以上是关于将索引从 SQL Server 2008 迁移到 SQL Azure的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL Server 2008 迁移到 MS access 2007

从 SQL Server 2005 迁移到 SQL Server 2008:强制在表名之前使用架构名

Umbraco 从 SQL Server 2012 迁移到 SQL Server 2008 R2

Team Foundation 数据从 TFS2010/SQL Server 2008R2 迁移到 TFS2012/SQL Server 2012 服务器

删除分区 SQL Server 2008

从 MySql 迁移到 Sql server 2008