我正在寻找一种处理以下情况的方法:
>我们有一个数据库服务器,上面有多个数据库(都有相同的模式,不同的数据).
>我们正在寻找一种在所有数据库中进行查询的方法(并且它易于配置,因为可以随时添加更多数据库).此数据访问必须是实时的.
比如说,你有一个插入订单的应用程序 – 每个应用程序都有自己的数据库等.我们当时正在寻找的是一个有效的方法,然后单个应用程序访问所有其他数据库中的订单信息,以便查询它并随后对其进行操作.
到目前为止我的搜索并没有显示出来,但是我想我可能只是缺少相应的关键字才能找到正确的信息…
解决方法
它不会是有史以来最干净的解决方案,但您可以在“主数据库”上定义一个视图(如果您的个人数据库不会保持不变),其中包含来自各个数据库的数据,并允许您执行查询单一来源.
例如…
CREATE VIEW vCombinedRecords AS SELECT * FROM DB1.dbo.MyTable UNION ALL SELECT * FROM DB2.dbo.MyTable
这让你做…
SELECT * FROM vCombinedRecords WHERE....
数据库更改后,只需更新视图定义即可包含新表.