解决分区表归档(switch)失败

来源:互联网 发布:米芾字体下载 mac 编辑:程序博客网 时间:2024/06/01 07:28

错误信息:

'ALTER TABLE SWITCH' 语句失败。表'dbName.dbo.tableName' 已分区,但 索引'IX_indexName' 未分区。

网上找了很多都解决不了,摸索一番总算搞定了。


解决方法:

先删除这个表上除主键之外的所有索引, 然后添加索引(基于分区方案上的分区列)


脚本:

IF EXISTS(SELECT * FROM sys.indexes AS i WHERE i.[object_id]=OBJECT_ID('[dbo].[tableName]') AND NAME NOT LIKE 'PK_%')BEGINDECLARE @sql NVARCHAR(MAX)SET @sql=''SELECT @sql=@sql+'drop index '+NAME+' on [dbo].[tableName];' FROM sys.indexes AS i WHERE i.[object_id]=OBJECT_ID('[dbo].[tableName]') AND NAME NOT LIKE 'PK_%'SET @sql=REPLACE(@sql, ';', '')PRINT @sqlEXEC (@sql)END--1.只写一个,其它的类似CREATE NONCLUSTERED INDEX [IX_indexName] ON [dbo].[tableName]([columnName] ASC) ON [partition_scheme]([partitionColumn]) --分区方案 (分区列),其实也就变动了这么一点点


0 0