当前位置: 首页 > 面试题库 >

在同一服务器上的多个数据库中查询

令狐跃
2023-03-14
问题内容

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

  1. 我们有一个数据库服务器,上面有多个数据库(所有数据库都有相同的架构,不同的数据)。

  2. 我们正在寻找一种查询所有数据库的方法(并且它易于配置,因为可以随时添加更多数据库)。此数据访问必须是实时的。

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

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


问题答案:

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

例如…

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

这可以让你做…

SELECT * FROM vCombinedRecords WHERE....

当数据库更改时,您只需更新视图定义以包括新表即可。



 类似资料:
  • 问题内容: 我试图通过在经典ASP中查询2个数据库(Sybase)来生成报告。 我创建了2个连接字符串: 数据库 A的connA数据库B的connB 两个数据库都位于同一台服务器上(不知道这是否重要) 查询: 其次是: 当我尝试在浏览器中打开此页面时,出现错误消息: Microsoft OLE DB提供程序的ODBC驱动程序错误‘80040e37’ 找不到[DataDirect] [ODBC Sy

  • 我试图从同一个服务器上的数据库的旧备份创建一个新数据库。当使用SQL服务器管理工作室并试图从备份恢复到新数据库时,我得到这个错误 在谷歌搜索之后,我找到了这段代码 我想知道移动语句是否会干扰备份来自该服务器的数据库? 谢谢,感谢所有的帮助。

  • 问题内容: 我正在尝试调整SQL查询以检查服务器上每个数据库中存在的特定字段中存在的值。 有100个单独的数据库,我想检查每个数据库的特定记录。 答案可能是使用下面的命令,但是我很难适应它。 我在下面的链接上获得了更大的成功; https://stackoverflow.com/a/18462734/3461845 我需要能够执行以下查询: 并且还为返回的每一行拉回数据库的名称; 任何帮助是极大的

  • 目前,我的java应用程序在多个服务器中运行。我有一个数据事务遇到死锁。我尝试使用线程和同步,但徒劳无功,因为多个服务器中有多个应用程序实例。每个应用程序实例都同步了其数据事务,但同一数据库上的不同同步应用程序事务恰好使数据库陷入死锁状态,因为对于所有应用程序实例,数据库是相同的,并且是一个。 在这种情况下,请提出正确的方法。任何高级解决方案也就足够了。

  • 问题内容: 我的源表和目标表存在于不同的服务器上。我 用来编写合并语句以使其同步。 谁能解释我如何引用存在于我内部不同服务器上的两个不同数据库 ? 问题答案: 可能的方法: 我建议采用以下方法,而不是尝试在两个数据库服务器之间使用 语句 。 方法1: 为每个SQL Server实例创建两个。例如,如果您有两个数据库SourceDB和DestinationDB,则可以创建两个名为 和的连接管理器 。