查询在另一个物理SQL Server上运行的数据库

时间:2015-04-13 08:42:03

标签: sql-server database

从历史上看,我们有一个产品在同一台服务器上安装了两个数据库。有一个自定义应用程序,它假定两个数据库都在同一台服务器上。

在新版本中,他们将数据库拆分为两个独立的服务器,显然现在自定义应用程序出错:

  

数据库' DB_2'不存在。确保   名称输入正确。

我是否可以在SQL Server设置中执行任何操作,以便应用程序仍然可以在不修改自定义应用程序的情况下查询DB_2数据库?

正在使用的查询结构如下:

Use DB_2 

SELECT * FROM MyUser.MyTable

2 个答案:

答案 0 :(得分:1)

您可以为不同的对象创建linked Server,然后CreateDatabase DB_2添加Synonym。如下所示。

use master
GO;
EXEC master.dbo.sp_addlinkedserver @server = N'RemoteServer', @srvproduct=N'SQL Server'
GO
CREATE DATABASE [DB_2];
GO
USE [DB_2]
GO
CREATE SYNONYM [MyUser].[MyTable] FOR [RemoteServer].[db].[MyUser].[MyTable]
GO

答案 1 :(得分:0)

您可以使用链接服务器功能。在SSMS中,转到对象资源管理器中的服务器对象/链接服务器文件夹。并链接第二台服务器。因此,您可以使用此SELECT * FROM [Linked_Server_Name].[Database_Name].[Schema_Name].[Table_Name]

查询其他数据库