两个SQL Server数据库之间的数据同步检查
问题描述:
我们有两个SQL服务器数据库。源服务器具有从外部系统填充的数据和远程服务器上的目标数据库(由Web应用程序使用)。有一个SSIS包,它将源表中的列映射到目标(列名不同)并填充数据以保持同步。两个SQL Server数据库之间的数据同步检查
现在,为了确保两个数据库同步,我们有一个SP显示记录计数,对于一些父子关系,它显示每个父记录的子计数(即Brandwise Item count)。有人必须登录到两台服务器,执行SP并手动获取数据。然后比较结果以确保两个数据库同步。
现在,这个过程自动化,我们已经做了以下事项
- 添加目标服务器为 “Linked Server”
- 使用 “EXEC msdb.dbo。sp_send_dbmail” 连同“ @attach_query_result_as_file = 1"
- 创建一个SSIS作业将执行电子邮件SP两个服务器
所以,THI s是我们如何得到两个电子邮件,其查询结果附加到 它。然后比较文本文件完成数据库同步检查。
我相信这可以做得更好 - 现在我们可以作为链接服务器访问目标服务器。这是我第一次请求一些有经验的人分享他们的方法,可能是连接服务器连接查询之外的东西。
答
我使用下面的查询是一个简单的版本,并给了我双方的分歧 -
(Select s.Title, s.Description from ERPMasterBrand as s EXCEPT
Select d.Title, d.Description from MasterBrand as d)
UNION
(Select s.Title, s.Description from MasterBrand as s EXCEPT
Select d.Title, d.Description from ERPMasterBrand as d)
什么更好的建议?我已经测试过,并且提供了理想的结果 - 希望我没有被误导:-)通过我自己的解决方案。