我需要将索引从一个表复制到另一个表.有很多索引,我不想从头开始重新创建它们.不管怎么说,看起来很容易出错.

我已经用

SELECT * INTO [BackupTable] FROM [OriginalTable]

但这不会复制索引、约束、触发器等

有人知道怎么做吗?

推荐答案

是否要复制索引定义?

然后可以使用Microsoft SQL管理工具中的"脚本"选项对索引、触发器等进行反向工程

只需在SQL Management Studio表列表中右键单击一个表名,然后 Select "将表脚本化为",然后 Select "创建到"

无法复制索引数据,因为它与索引的物理存储有关

在某些版本的SQL管理工具中,前check that you have "Tools/Options/SQL Server Object Explorer/Scripting/Script Indexes" set to "True".设置为False(感谢标记)

在此处输入图像描述

Database相关问答推荐

无法连接MatrixOne(来自GitHub)

如何使授权服务器与外部数据库保持同步?

无法初始化数据库,出现错误无法连接到`host=db user=database=`:拨号错误(dial tcp xxxx: connect: connection refused)

我们可以在 CnosDB 中的单个数据库中创建的标签数量是否有限制?

数据库 struct 建议

如何从 PostgreSQL 触发器发送邮箱?

多列上的全文索引如何工作?

JOIN 三张表

本地数据库,我需要一些例子

什么是本体数据库?

数据库中一致且全面的地址存储的最佳实践

执行语句还是运行脚本?

Slick 3.0 在数据库驱动程序级别是reactive/asynchronous的吗?对于哪些数据库?

在单个 postgres 查询中多次调用 `now()` 是否总是给出相同的结果?

寻找示例数据库设计的好方法

如何在实体框架中使用字符串属性作为主键

在mysql中 Select 不同的2列组合

我应该在哪里存储外键?

什么是提交日志(log)?

python3k中的sqlite3中的cursor.rowcount总是-1