将Server SQL Server 2014链接到SQL Server版本8

Emm*_*mma 4 sql-server sql-server-2014 sql-server-2014-express

我最近安装了SQL Server 2014 Express,需要创建链接服务器。我已经在SQL Server Management Studio中尝试了此操作(来自object explorer - server objects - linked servers - add linked server)。

通过服务器类型“ SQL Server”直接连接服务器或通过在“其他数据源”中指定连接属性时,然后使用Microsoft OLE DB Provider for SQL Server并填写其他详细信息,我收到以下错误。

链接服务器已创建,但连接测试失败。SQL Server本机客户端11.0不支持与SQL Server 2000或更早版本的连接。

我需要能够在不同服务器上的两个数据库之间创建联合查询,实现此目的的最佳方法是什么?我需要连接的数据库是版本8(SQL Server 2000),非常老。我已经阅读了通过事务处理SQL可能实现的方法,但不确定要采取什么步骤。

Emm*_*mma 5

可以创建链接服务器,但是不能通过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
Run Code Online (Sandbox Code Playgroud)

–>使用方法2:

我们还可以将DSN连接字符串直接放在提供程序字符串@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
Run Code Online (Sandbox Code Playgroud)