0

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

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

现在,为了自动化这个过程,我们完成了以下工作 -

  1. 将目标服务器添加为“链接服务器
  2. 使用“EXEC msdb.dbo.sp_send_dbmail ”和“@attach_query_result_as_file =1
  3. 创建一个 SSIS 作业,它将为两个服务器执行电子邮件 SP

因此,这就是我们如何获得两封附有查询结果的电子邮件。然后比较文本文件完成数据库同步检查。

我相信这可以做得更好——现在我们能够将目标服务器作为链接服务器进行访问。这是我的第一次,所以我会请求一些有经验的人分享他们的方法,可能超出了与链接服务器的连接查询。

4

2 回答 2

1

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

请检查这个

您可以根据此查询结果修改 SSIS 作业以发送邮件。

于 2012-08-11T21:36:29.553 回答
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)

有更好的建议吗?我已经测试过了,它给出了想要的结果——希望我没有被我自己的解决方案误导:-)。

于 2012-08-13T15:21:51.180 回答