从历史上看,我们有一个产品在同一台服务器上安装了两个数据库。有一个自定义应用程序,它假定两个数据库都在同一台服务器上。
在新版本中,他们将数据库拆分为两个独立的服务器,显然现在自定义应用程序出错:
数据库' DB_2'不存在。确保 名称输入正确。
我是否可以在SQL Server设置中执行任何操作,以便应用程序仍然可以在不修改自定义应用程序的情况下查询DB_2
数据库?
正在使用的查询结构如下:
Use DB_2
SELECT * FROM MyUser.MyTable
答案 0 :(得分:1)
您可以为不同的对象创建linked Server
,然后Create
和Database 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]