1. ホーム
  2. sql-server

[解決済み] リンクサーバーとしてローカルデータベースを使用する場合、「Deferred prepare could not be completed」エラーが発生する。

2022-02-18 07:37:31

質問内容

ローカルのSql Serverからリンクされたサーバーを作成しました。

http://sqlserverplanet.com/dba/local-linked-server

しかし、Linked Serverでストアドプロシージャを実行しようとすると、スローされます。

Deferred prepare could not be completed

エラーと無効なオブジェクト名 'テーブル名' が発生しました。

解決方法を教えてください。

オブジェクト名に見落としはありませんか?Database.User.ObjectName (例: Northwind.dbo.Customers) のような名前にする必要があります。

リンクサーバー経由でクエリを実行する場合は、完全なオブジェクト名を付けてください。

ストアドプロシージャのクエリーは、リンクされたサーバーで実行する場合、次のようになります。

Select  *
From    OPENQUERY([COM2\SQLEXPRESS], 'Exec Northwind.dbo.CustOrderHist ''CUST1''') as TB1

ストアドプロシージャの実行時にSET FMTONLY OFFなどのオプションで確認します。

OPENQUERYについては、こちらのリンクをご参照ください。 http://msdn.microsoft.com/en-us/library/ms188427.aspx