从SQL Server Express复制数据保留主键

时间:2010-04-03 17:02:56

标签: sql-server sql-server-2008 sql-server-express identity sql-server-2008-express

我想将数据从数据库复制到另一个数据库,但我想保留原始数据库中的主键,这样就不会破坏关系。我正在使用SQL Server 2008。

3 个答案:

答案 0 :(得分:1)

我认为你的主键是IDENTITY?如果是这样,您应该对表使用SET IDENTITY_INSERT ON(一次只能使用一个表) - 如果您使用SSIS等工具进行传输,通常会有一个选项允许您插入标识。

答案 1 :(得分:1)

如前所述,IDENTITY_INSERT是您要为每个表设置的标志,允许您在每个插入记录的标识列上设置特定值。

但是,如果您只是尝试复制整个现有数据库(或大部分数据库),而不仅仅是复制几个表,我建议只对数据库进行完整备份,还原将BAK文件转换为新的数据库名称,然后对克隆进行修改。

答案 2 :(得分:0)

您可以使用bcp命令执行此项工作。使用bcp命令,您可以批量复制数据。这个命令有一个保持你身份的开关。

有关详细信息,请转到此link