我有2台PC,每台都安装了SQL Server 2008,并且有一个包含数据的数据库。
我需要一种方法可以将数据库中的数据从此SQL Server移动到另一台(另一台具有相同数据库的PC)
ID列中存在一个问题,因为我的2台PC中的每个数据库都有数据,因此该列从1,2,3开始计算.......(数据将与其他数据冲突)我的DB)
有没有办法解决我的问题并成功移动数据?
答案 0 :(得分:1)
IDENTITY类型的ID列是?如果是这样,当您从第二个数据库插入新数据时,将生成新ID - >没有冲突。这意味着您可能需要跟踪插入,以便您可以定义DB#2中的旧ID在插入DB#1时已转换为的内容。
如果这些列不是 IDENTITY列,您可以确保为旧值添加足够大的数字,例如用ID + 100'000 = 100'005替换每个ID(例如5) - >因此你可以避免所有的冲突。同样,如果您有任何数据引用数据库#2中的主表,则必须先将旧引用(旧外键ID)修复为新值,然后再将它们插入新数据库的表中。 / p>
它有点乱 - 但如果你仔细考虑它肯定可以做到。基本上,您需要重新编号正在导入的数据,并且您需要确保不会发生任何冲突。 SQL Server中没有任何功能可以帮助您解决这个问题 - 不幸的是,没有“导入此数据并重新编号其ID”的命令。