标签: sql-server-2008
我正在使用Microsoft SQL Server 2008 R2。我已经通过创建SSIS包将数据库A(myproduction数据库)复制到数据库B(Myreportin数据库)。两个数据库都在同一个服务器中。我想运行一个作业,如果有的话更改(数据修改,如插入新行或更新任何表中任何行的值)发生在数据库A中,这也将发生在我的B数据库中,sql作业将运行并自动完成更改。我不希望它在数据库B表将被删除并重新创建(因为它不是我们的业务规则),而只会发生更改。
任何人都可以帮助我。谢谢你。
答案 0 :(得分:0)
我建议您使用复制进行调查。特别是,如果您需要不断更新,则进行事务复制。这里有点MSDN:
事务复制通常以发布数据库对象和数据的快照开始。一旦获得初始快照,在发布者处进行的后续数据更改和模式修改通常会在发生时(近实时)传递给订阅服务器。数据更改以与发布服务器上相同的顺序和相同的事务边界应用于订阅服务器;因此,在出版物中,保证了交易的一致性。
如果您不需要不断更新(当然,性能代价),您可以考虑合并复制或快照复制的替代方案。 Here's一个页面,开始检查这些替代方案。