处理从旧数据库到新数据库的索引?

时间:2010-04-26 15:10:25

标签: sql-server indexing

我将旧的sql server数据库从2000转换为2005,忘记将旧索引添加到新数据库。

有没有办法将旧索引复制到新数据库?

任何帮助?

2 个答案:

答案 0 :(得分:3)

您无法将索引从一个位置复制到另一个位置。它们必须在新的位置建造。

您可以将旧数据库中的所有索引编写为脚本,然后将它们转移到新数据库中。

右键单击数据库,在任务下,选择Generate Scripts。选中all objects的复选框,然后在选项中选择脚本索引。在新数据库上运行此脚本(这将需要一段时间,具体取决于表的大小。

答案 1 :(得分:2)

如果表没有太多,您可以从SSMS生成包含所有对象及其索引的脚本,然后只删除CREATE TABLE语句,保留索引。

如果您正在处理大量的表,可能更容易使用Red-Gate的“SQL Compare”或Visual Studio Database Edition等工具进行架构比较并生成缺失的索引。