0

我需要检查不同服务器上类似数据库上的 2 个表,如果它们包含相同的信息(或大小、哈希,以检查它们是否相同的最佳方法为准),那么其中一个表应该删除其信息,在每天安排的工作。

这是否可能仅使用 SQL Server Management Studio 中的作业界面?

4

1 回答 1

0

正如您在 SQL 2008 上一样,您可以使用 MERGE 命令进行检查(假设您仍然在此处讨论其他问题的链接服务器表比较)。

您将设置一个在具有正确权限的帐户下运行的作业,以从链接服务器读取数据作为 MERGE 命令的源,然后删除目标表中与其匹配的条目:

MERGE DBNAME.SCHEMANAME.TABLENAME t --this is your target (the local table)
using (SELECT * from SERVERB.DBNAME.SCHEMANAME.TABLENAME) s --this is your source (the linked server)
on (t.uniquefield = s.uniquefield) --join condition

when matched then delete -- when matched, then delete!
;
于 2010-08-09T19:53:46.643 回答