JHF*_*HFB 8 replication trigger sql-server
我们的 SQL Sever 2008 应用程序数据库从服务器 A 复制到服务器 B(推送复制)。我们使用服务器 B 上的副本(我们称之为 database_b)来创建报告并运行其他查询,以便我们的报告不会干扰应用程序。目前,我们利用低效的视图在 database_b 中跨多个表组合数据,以便为我们的报告编写者(具有基本 SQL 技能)简化报告编写。
99.9% 的数据库活动是 INSERTS,所以我们正在探索一种用我们可以优化的表替换低效视图的方法。这是一个简化的示例:
有一个appointment表和一个location(查找)表。每次安排新约会时,都会向appointment表中添加一行。每次这个 INSERT 发生时,我想把appointment_id它和它对应的位置名称(location_id从两个表连接)插入到一个报告表中。
我已经通过服务器 B 上 database_b 中的约会表上的触发器完成了此操作。
我的问题是 - 鉴于 database_b 是复制副本,是否有任何特殊考虑?我是否需要担心失败的触发器会破坏整个(推送)复制过程?还有什么我想念的吗?
不幸的是,在我们的开发环境中很难对此进行测试,因此我没有机会进行大量的反复试验。
这听起来是使用索引视图的好时机。这些几乎就是它们听起来的样子:一个视图将其结果物理存储在数据库中,并在更新基表时自动更新。
一些注意事项:
本文中有(很多)更多细节,以及使用 AdventureWorks 数据库的一个很好的示例:http :
//msdn.microsoft.com/en-us/library/ms191432%28v=sql.100%29.aspx
如果它是一个相对简单的查询,只是由于大量数据和(内部)连接而表现不佳,那么这可能是一种改进它的简单方法。
| 归档时间: |
|
| 查看次数: |
6185 次 |
| 最近记录: |