2012-08-11 147 views
0

我们有两个SQL服务器数据库。源服务器具有从外部系统填充的数据和远程服务器上的目标数据库(由Web应用程序使用)。有一个SSIS包,它将源表中的列映射到目标(列名不同)并填充数据以保持同步。两个SQL Server数据库之间的数据同步检查

现在,为了确保两个数据库同步,我们有一个SP显示记录计数,对于一些父子关系,它显示每个父记录的子计数(即Brandwise Item count)。有人必须登录到两台服务器,执行SP并手动获取数据。然后比较结果以确保两个数据库同步。

现在,这个过程自动化,我们已经做了以下事项

  1. 添加目标服务器为 “Linked Server
  2. 使用 “EXEC msdb.dbo。sp_send_dbmail” 连同“ @attach_query_result_as_file = 1"
  3. 创建一个SSIS作业将执行电子邮件SP两个服务器

所以,THI s是我们如何得到两个电子邮件,其查询结果附加到 它。然后比较文本文件完成数据库同步检查。

我相信这可以做得更好 - 现在我们可以作为链接服务器访问目标服务器。这是我第一次请求一些有经验的人分享他们的方法,可能是连接服务器连接查询之外的东西。

回答

1

由于您可以作为链接服务器访问服务器,因此您可以直接运行查询和比较数据。

请检查this

可以修改SSIS作业发送基于此查询结果邮件。

0

我使用下面的查询是一个简单的版本,并给了我双方的分歧 -

(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) 

什么更好的建议?我已经测试过,并且提供了理想的结果 - 希望我没有被误导:-)通过我自己的解决方案。

相关问题