3

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

スクリプト全体を実行すると、次のようなエラーが発生します。

メッセージ7202、レベル11、状態2、55行目sysserversでサーバー「remoteServer」が見つかりませんでした。sp_addlinkedserverを実行して、サーバーをsysserversに追加します。

ただし、sp_addlinkedserver一部のみを強調表示して実行すると、エラーは発生せず、スクリプトの残りの部分を強調表示して実行できます。ここで何が欠けていますか?

助けてください!

PS。バックアップと復元がオプションだったとしたら、私はすでにそれを行っていただろう。

4

1 に答える 1

2

問題は、SQL Server がコードを実行する前に検証しようとしていることです。それを示すために、コマンドの 1 つを EXEC() に入れてみてください。sp_addlinkedserver コマンドの後に GO を追加してみてください。

于 2010-06-17T14:32:21.873 に答える