1

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

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

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

4

1 回答 1

2

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

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

于 2009-11-09T19:56:01.330 回答