2010-06-17 63 views
3

我在运行SQL Server 2000(A)和另一个运行SQL Server 2008(B)的服务器中移动特定数据时遇到了一些问题。我正在根据将在A上执行的客户规范编写一个脚本,用数据填充B中的表格。但是,我似乎无法让服务器链接工作。SQL Server 2000中sp_addlinkedserver的问题

-- Bunch of declarations here 

EXEC sp_addlinkedserver @server = @ServerName, 
      @srvproduct = @ServerProduct, 
      @provider = @ProviderString, 
      @datasrc = @RemoteHost 

-- Data migration stuff here 

EXEC sp_dropserver @ServerName 

现在,如果我的全部运行该脚本,我得到一个错误说:

消息7202,级别11,状态2,55号线 找不到服务器 'REMOTESERVER' 在sysservers 。执行 sp_addlinkedserver将服务器 添加到sysservers。

但是,如果我只突出了sp_addlinkedserver部分和执行,没有错误,我可以突出显示脚本的休息和运行它。我在这里错过了什么?

请帮忙!

PS。如果备份还原是一种选择,我已经做到了。

回答

2

问题是SQL Server在运行代码之前试图验证代码。为了表明这一点,请尝试将其中一个命令放在EXEC()中。尝试在sp_addlinkedserver命令之后放置GO。

+0

工作,谢谢! – manneorama 2010-06-18 06:56:55