我有一个大型的(大约3300万条记录)的SQL Server数据库,它必须被复制到SQL数据库(需要几乎实时的复制)。我正在尝试使用软件来实现这一点。
我创建了一个指定了Full Load选项的任务,它成功地将初始数据上传到Azure。之后,我使用指定的Apply Changes选项创建了另一个任务,但此任务以错误结束:
Failed to execute statement: 'INSERT INTO [attrep_apply_exceptions] values ( ...'
RetCode: SQL_ERROR SqlState: 42000 NativeError: 40054 Message: [Microsoft][SQL Server Native Client 11.0][SQL Server] Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again. Line: 1 Column: -1Attunity在Azure数据库中创建了[attrep_apply_exceptions]表,该数据库没有任何聚集索引,因此insert失败(Azure不允许没有聚集索引的表)。
为什么会这样?我应该自己添加索引吗?
发布于 2014-04-05 12:08:47
所有sql-azure表都必须具有聚集索引。您可以在没有表的情况下创建一个表,但是一旦插入第一条记录,您将看到消息:Tables without a clustered index are not supported in this version of SQL Server
有一个Azure Sql限制/差异列表,这里。
要回答您的问题,必须自己添加一个聚集索引。
https://stackoverflow.com/questions/22847976
复制相似问题