2011-10-17 46 views
1

非常抱歉,如果这之前已被回答,但我无法在任何地方找到答案。我在服务器“A”上有一个SQL数据库,它有更新等等,同时数据库在服务器“B”上。SQL导入只有不同的记录

现在的问题是,一些网站比其他网站更早移动,并在服务器“B”上更新等,而其他网站(可能需要2或3周的注册)在服务器“A”更新。

问题是,我无法从服务器“A”.bak文件导入到服务器“B”导致我丢失了所有服务器B的数据。无论如何,只从“A?”导入与服务器“B”不同的数据。合理?

预先感谢您...

+0

更具体些。这是SQL服务器管理员,还是介意在表上运行SQL?如果前者,你需要抓住TLOG的正确位,否则你需要做一个http://en.wikipedia.org/wiki/Upsert –

+0

我不会说我是管理员,但SQL 2008 R2我可以完全访问数据库和企业管理器等。 – Tim

回答

5

我建议考虑看看SQL Data Compare和展鹏SQL Compare。您可以创建一次性脚本,但这些工具确实适用于这种情况。

听起来像SQL Data Compare是你现在需要的工具。它允许您比较两个数据库之间的数据(您可以选择单个表)并对它们进行同步。处理标识列和约束时非常有用。

SQL数据比较:
http://www.red-gate.com/products/sql-development/sql-data-compare/

SQL比较:
http://www.red-gate.com/products/sql-development/sql-compare/

3

另请参见TSQL的MERGE命令。