我需要为 SQL 服务器数据库中的所有键、约束生成删除和创建脚本。本练习是为目标环境中的数据库生成升级脚本。我有脚本,但它失败了,因为我需要找到正确的数据库对象顺序,例如父表级别、子表级别才能创建它们。例如,要创建/删除索引,基本上我使用以下查询捕获索引
'SELECT object_name(si.object_id)
,si.object_id
,si.NAME
,si.index_id
FROM sys.indexes si
LEFT JOIN information_schema.table_constraints tc ON si.NAME = tc.constraint_name AND object_name(si.object_id) = tc.table_name
WHERE objectproperty(si.object_id, 'IsUserTable') = 1
ORDER BY object_name(si.object_id)
,si.index_id'
让我们知道如何包含索引的顺序/级别。同样需要在生成脚本时确保主要、外部、约束。
你能告诉我什么是捕捉这个的正确方法吗?