可以创建链接服务器,但不能通过 GUI 完成。作为一种解决方法,您可以创建一个 DSN 以在事务 SQL 中使用以链接服务器。
有关完整说明,请访问http://sqlwithmanoj.com/2012/12/10/sql-server-2012-does-not-support-linked-server-to-sql-server-2000-workaround/
=> 解决方法/修复:
现在,作为使此链接服务器工作的解决方法,我们可以选择使用将连接到远程服务器的 ODBC 数据源。有两种方法: 1. 我们创建一个 ODBC 数据源 (DSN) 并在我们的链接服务器中使用它 2. 或者,直接在链接器服务器提供程序中使用数据源 (DSN) 连接字符串
–> 使用方法#1:
创建 ODBC 数据源: – 打开控制面板,进入管理工具,然后选择“数据源 (ODBC)”。– 在“ODBC 数据源管理器”窗口中,转到“系统 DSN”选项卡。– 在此处单击添加以创建新的 DSN。– 选择“SQL Server”并单击完成。– 在新窗口中,为源 DSN 命名(例如:NorthWind2000DSN),我们将在创建链接服务器时使用此名称。提供 SQL Server 2000 上的服务器名称,此处为“NorthWind”。点击下一步。– 选择身份验证类型,Windows 或 SQL Server 身份验证。点击下一步。– 更改默认数据库,没有必要。点击下一步。– 单击完成。您将看到在系统 DSN 选项卡下创建了一个新的 DSN。
现在,创建链接服务器并在 @datasrc 参数中提供此 DSN,并提供 @provider 参数“MSDASQL”。您可以使用以下查询来创建相同的:
USE master
GO
-- Drop Existing LinkedServer [NorthWind2000]:
EXEC sp_dropserver @server=N'NorthWind2000', @droplogins='droplogins'
GO
-- Re-create LinkedServer [NorthWind2000] by using the ODBC connection:
EXEC sp_addlinkedserver @server = N'NorthWind2000',
@srvproduct=N'MSDASQL',
@provider=N'MSDASQL',
@datasrc = N'NorthWind2000DSN',
@location=N'System';
EXEC sp_addlinkedsrvlogin @rmtsrvname=N'NorthWind2000',
@useself=N'True',
@locallogin=NULL,
@rmtuser=NULL,
@rmtpassword=NULL
GO
–> 使用方法#2:
我们也可以直接将 DSN 连接字符串放在 Provider String @provstr 参数中。让我们在下面检查一下:
USE master
GO
-- Drop Existing LinkedServer [NorthWind2000]:
EXEC sp_dropserver @server=N'NorthWind2000', @droplogins='droplogins'
GO
-- Re-create LinkedServer [NorthWind2000] by using the ODBC connection:
EXEC sp_addlinkedserver @server = N'NorthWind2000',
@srvproduct=N'',
@provider=N'MSDASQL',
@provstr=N'DRIVER={SQLServer};SERVER=NorthWind;Trusted_Connection=yes;'
EXEC sp_addlinkedsrvlogin @rmtsrvname=N'NorthWind2000',
@useself=N'True',
@locallogin=NULL,
@rmtuser=NULL,
@rmtpassword=NULL
GO