我在从一台运行 SQL Server 2000 (A) 的服务器和另一台运行 SQL Server 2008 (B) 的服务器上移动特定数据时遇到了一些问题。我正在根据客户规范编写一个脚本,该脚本将在 A 上执行,用数据填充 B 中的表。但是,我似乎无法使服务器链接正常工作。
-- Bunch of declarations here
EXEC sp_addlinkedserver @server = @ServerName,
@srvproduct = @ServerProduct,
@provider = @ProviderString,
@datasrc = @RemoteHost
-- Data migration stuff here
EXEC sp_dropserver @ServerName
现在,如果我完整地运行脚本,我会收到一条错误消息:
Msg 7202, Level 11, State 2, Line 55 Could not find server 'remoteServer' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.
但是,如果我只突出显示 sp_addlinkedserver
部分并执行它,则没有错误,我可以突出显示脚本的其余部分并运行它。我在这里错过了什么?
请帮忙!
附言。如果备份恢复是一个选项,我早就这么做了。
最佳答案
问题是 SQL Server 试图在运行之前验证代码。为了证明这一点,请尝试将您的命令之一放入 EXEC() 中。尝试在 sp_addlinkedserver 命令后放置一个 GO。
关于sql-server-2008 - SQL Server 2000 中 sp_addlinkedserver 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3062461/