是否有一个很好的脚本,它会生成脚本以将群集和非群集索引(+堆)移动到其他文件组?
在完美世界它看起来像过程,其中输入是表名,新文件组名称为字符串(因此也可以给出具有列的分区模式)和可选索引名称(如果没有给出,然后移动所有索引或堆)。该脚本将在SSMS的消息面板中输出结果(脚本),因此可以在运行前查看。 它还会考虑企业版本功能(ONLINE),并为集群索引制作好的脚本,不能删除和重新创建,如下所示:
CREATE unique clustered INDEX PK_TableName
On dbo.TableName
(
[ColumnName] ASC
)
WITH (DROP_EXISTING=ON, ONLINE=ON)
ON FileGroup
它还会考虑包括列,过滤索引。
答案 0 :(得分:3)
见
https://dba.stackexchange.com/questions/16708/moving-large-number-of-tables-to-different-filegroups
和
Generate CREATE scripts for a list of indexes
您只需按一下输出一点就可以包含新的文件组名称和“drop existing”子句......