SQL Server复制(跨数据库查询和约束)

时间:2009-11-09 18:54:03

标签: sql-server replication constraints cross-database

我们希望将数据从一个数据库复制到其他几个数据库(在另一个服务器上)。将这些表复制到另一台服务器上的共享数据库并让我们的跨数据库查询引用共享数据库是否有意义......或者将它复制到另一台服务器上的每个单独数据库更有意义吗?跨数据库连接是否会对性能造成影响?跨数据库约束会按预期工作吗?

将一次复制到共享数据库有助于复制性能......我正在尝试评估由于跨数据库查询或约束而导致的任何性能损失是否值得。

编辑:看起来在sql server中无法实现跨数据库约束?如果这是真的那么我们将不得不复制到每个数据库

1 个答案:

答案 0 :(得分:2)

跨数据库查询在同一个DB中稍慢。外键仅在同一个DB中工作。通常的方法是在每个DB(如ETL)中创建单独的模式,然后将这些表复制到该模式。在数据集市之间复制维度表时,实际上经常使用此方法。

使用跨数据库方法时,使用触发器来实现约束 - 可能是缓慢而复杂的。 根据您的应用程序,您可以将外键实现为“仅逻辑”,并定期运行“查找孤立”查询以处理参照完整性。