开发与企业应用中,好几个版本SQL Server相互链接。分布式读取与存储,需要实现sp_addlinkedserver。SQL Server 2000, SQL Server 2008, SQL Server 2012和SQL Server 2014:

MS SQL Server2014链接MS SQL Server 2000_sp_serveroption



但今天在本机的MS SQL Server 2014中,想添加SQL Server 2000的链接,使用下面的方法:

《​​SQL Server创建链接服务器的一些存储过程和例子​​》​​javascript:void(0)​​ 此方法在SQL Server 2008中执行,是没有问题,它能添加SQL Server 2000的链接,但在SQL Server 2008以上版本,如2012或2014版本运行,它能正常执行,但浏览链接Server时,即出现下面的异常:

MS SQL Server2014链接MS SQL Server 2000_sp_serveroption_02



程序运行时,出现的异常如下:

MS SQL Server2014链接MS SQL Server 2000_sp_addlinkedserver_03



尝试到网上看看是否有相关的解决方法。结果在一英文站点看到一个网友回复,说可以指定版本,但他没有帖出任何代码示例。下面是Insus.NET根据

《​​SQL Server创建链接服务器的一些存储过程和例子​​》​​javascript:void(0)​​  这里稍作修改:

MS SQL Server2014链接MS SQL Server 2000_sql_04



MS SQL Server2014链接MS SQL Server 2000_sp_serveroption_05MS SQL Server2014链接MS SQL Server 2000_sp_addlinkedserver_06


EXECUTE sp_addlinkedserver 
@server='DB1',
@srvproduct = 'sqlserver',
@provider = 'MSDASQL',
@datasrc = NULL,
@location = null,
@provstr = 'DRIVER={SQL Server Native Client 10.0};SERVER=xxx.xxx.xxx.xxx;',
@catalog = NULL
GO

EXECUTE sp_addlinkedsrvlogin
@rmtsrvname='DB1',
@useself='false',
@rmtuser='sa',
@rmtpassword='password';
GO

View Code

上面的实施过程,是因为本机已经安装了好几个版本的SQL Server。如果你的电脑只安装SQL Server 2014,再没有其它版本。想添加其它服务器SQL Server 2000的话,你需要下载SQL ​​Server Native Client 10​​ : ​​http://msdn.microsoft.com/zh-cn/library/ms131321.aspx​​ 进入链接之后,可以选择“其它版本”:

MS SQL Server2014链接MS SQL Server 2000_sp_serveroption_07


呵呵,又解决了一个似乎不能解决的问题。