2010-06-17 59 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