我需要检查不同服务器上类似数据库上的 2 个表,如果它们包含相同的信息(或大小、哈希,以检查它们是否相同的最佳方法为准),那么其中一个表应该删除其信息,在每天安排的工作。
这是否可能仅使用 SQL Server Management Studio 中的作业界面?
我需要检查不同服务器上类似数据库上的 2 个表,如果它们包含相同的信息(或大小、哈希,以检查它们是否相同的最佳方法为准),那么其中一个表应该删除其信息,在每天安排的工作。
这是否可能仅使用 SQL Server Management Studio 中的作业界面?
正如您在 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!
;