使用触发器的SQL Server复制
问题描述:
我有两个驻留在不同服务器上的数据库(db1,db2
),db1
驻留在dbserver1
,db2
,dbserver2
上。使用触发器的SQL Server复制
现在我想将数据从db1
(旧模式)复制到db2
REAL TIME中的新模式。这里最好/最有效的方法是什么?
我脑海中首先想到的是触发器,是否可以在db1
中触发插入/更新记录到db2
?还有其他方法吗?感谢..
[db1.OldSchema] => [db2.NewSchema]
补充:这只有一种方式同步,因为DB2将只在报告中使用..
答
这个问题可能是最适合Database Administrators,但简短的回答是,有多种方法你可以使用:
- 计划的备份/恢复(如果你 高兴地吹走上 每个恢复你的第二DB)
- 日志传送(通行证在改变自上次更新)
- SSIS包(如果你需要更改数据库即结构:变换,那么这是一个很好的方法,如果结构是相同用途的其他方法之一)
- Replication (因为你似乎想要1种方式,我建议事务复制,这可能是最接近实时的,但不应该轻易进入,因为它会影响你如何使用这两个数据库)
...任何人? – dotnetlinc 2011-05-20 14:15:51
我建议查看各种内置的复制解决方案。您已经要求“实时”,但我怀疑您需要这样做,而且如果您有要求,比如说“在5分钟内”(尤其是如果您说这是为了报告目的),它会便宜很多。您还需要考虑如果DB2由于某种原因(例如网络,服务器重新启动等)无法从DB1访问而发生的情况。使用基于触发器的解决方案时,DB1将变得无法使用。 – 2011-05-20 14:21:44
你说得对,这不是真正的实时,实际上我们需要每隔1小时同步一次数据,看起来像使用SSIS是要走的路。谢谢... SSIS是否兼容从SQL 2000到2008的数据复制? – dotnetlinc 2011-05-20 14:27:34