我正在寻找一种处理以下情况的方法:

  • 我们有一个数据库服务器,上面有多个数据库(所有数据库都有相同的架构,不同的数据)。
  • 我们正在寻找一种查询所有数据库的方法(并且它易于配置,因为可以随时添加更多数据库)。此数据访问必须是实时的。

  • 举例来说,假设您有一个插入订单的应用程序-每个应用程序都有其自己的DB等。我们正在寻找的是一种有效的方式,使单个应用程序可以访问所有其他数据库中的订单信息,以便查询并随后采取措施。

    到目前为止,我的搜索还没有显示太多,但是我想我可能只是缺少适当的关键字才能找到正确的信息...

    最佳答案

    它永远不会是最干净的解决方案,但是您可以在“主数据库”上定义一个 View (如果您的各个数据库不能保持恒定),其中包括各个数据库中的数据,并允许您对以下数据库执行查询单一来源。

    例如...

    CREATE VIEW vCombinedRecords AS
    SELECT * FROM DB1.dbo.MyTable
    UNION ALL
    SELECT * FROM DB2.dbo.MyTable
    

    这可以让你做...
    SELECT * FROM vCombinedRecords WHERE....
    

    当数据库更改时,只需更新 View 定义以包括新表。

    关于sql - 在同一服务器上的多个数据库中查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20611310/

    10-12 17:10
    查看更多