将 FOREIGN KEY 约束从一个数据库复制到另一个数据库

1 sql-server

我有一个具有 FOREIGN KEY 约束的本地数据库。

该网站 DB 的实时版本没有任何这些 FOREIGN KEY 限制。

如何“复制/粘贴”,仅将 FOREIGN KEY 约束从一个数据库导入/导出到另一个数据库?

我不想复制任何数据,只想复制约束。

谢谢

Jay*_*Jay 5

您可以使用我在http://www.siusic.com/wphchen/how-to-script-out-all-the-foreign-keys-of-a-table-106.html 上找到的这个脚本。将 tablename1 和 tablename2 替换为您希望为其获取外键的表列表。

select  'ALTER TABLE '+object_name(a.parent_object_id)+
    ' ADD CONSTRAINT '+ a.name +
    ' FOREIGN KEY (' + c.name + ') REFERENCES ' +
    object_name(b.referenced_object_id) +
    ' (' + d.name + ')'
from    sys.foreign_keys a
        join sys.foreign_key_columns b
                  on a.object_id=b.constraint_object_id
        join sys.columns c
                  on b.parent_column_id = c.column_id
             and a.parent_object_id=c.object_id
        join sys.columns d
                  on b.referenced_column_id = d.column_id
            and a.referenced_object_id = d.object_id
where   object_name(b.referenced_object_id) in
    ('tablename1','tablename2')
order by c.name
Run Code Online (Sandbox Code Playgroud)