日期:2014-05-18  浏览次数:20671 次

在sqlserver2000下如何创建sqlserver2005的连接
if       exists(select     *    
  from       master..sysservers      
where           isremote=1       and       srvname= 'name ')          
begin
    exec       sp_dropserver       'name ', 'droplogins '
end

exec       sp_addlinkedserver           'name ', ' ', 'SQLOLEDB ',192.168.0.1 '      
exec       sp_addlinkedsrvlogin       'name ', 'false ',null, 'sa ', 'sa '

上面一段代码是sqlserver2000创建另一个sqlserver2000的sql语句  

怎么修改才能让它能够创建连接sqlserver2005

------解决方案--------------------

--创建到SQL SQL 2005和SQL Server 2000的链接服务器方式是一样的。


--链接到SQL Server 2000

if exists(select * from master..sysservers where isremote=1 and srvname= 'SQLServer2000的实例名 ')
begin
exec sp_dropserver 'SQLServer2000的实例名 ', 'droplogins '
end
go

exec sp_addlinkedserver 'SQLServer2000的实例名 ', ' ', 'SQLOLEDB ', 'SQLServer2000的实例名 '

exec sp_addlinkedsrvlogin 'SQLServer2000的实例名 ', 'false ', 'sa ', 'sa ', '远程服务器的sa密码 '
go


select * from openquery([SQLServer2000的实例名], 'select * from 数据库名.dbo.表名 ')


--链接到SQL Server 2005
if exists(select * from master..sysservers where isremote=1 and srvname= 'SQLServer2005的实例名 ')
begin
exec sp_dropserver 'SQLServer2005的实例名 ', 'droplogins '
end
go

exec sp_addlinkedserver 'SQLServer2005的实例名 ', ' ', 'SQLOLEDB ', 'SQLServer2005的实例名 '

exec sp_addlinkedsrvlogin 'SQLServer2005的实例名 ', 'false ', 'sa ', 'sa ', '远程服务器的sa密码 '
go


select * from openquery([SQLServer2005的实例名], 'select * from 数据库名.dbo.表名 ')



------解决方案--------------------
用企业管理器来创建连接试试
------解决方案--------------------
我试过不行。2005版本比2000高,没有办法连接。