3つのSQL Serverがあり、OpenRowsetで奇妙な動作が発生しています。遅延準備が完了できませんでした。3 SQL Server
考える:
- サーバ1 = 192.168.1.1、
- サーバ2 = 192.168.1.2、
- サーバ3 = 192.168.1.3、
- サーバ4 = 192.168.1.4
SQL:
SELECT a.*
FROM OPENROWSET('SQLOLEDB',
'Data Source=192.168.1.1;Persist Security
Info=True;uid=sa;pwd=password',
'SELECT * FROM dfs_database.dbo.dfs_vehicledata ') AS a;
これは奇妙な部分です:上記のSQL文を.3と.4のサーバで実行すると、すべて正常に動作します。私は、サーバー0.2上でSQLステートメントを実行する場合
はしかし、私が取得:据え置き準備
リンクサーバーのOLE DBプロバイダー「SQLNCLI11」「(ヌル)」返されたメッセージは、」完了できませんでした。 "
メッセージ8180、レベル16、状態1、行7
ステートメントを準備できませんでした。Msg 208、レベル16、状態1、行7
無効なオブジェクト名 'dfs_database.dbo.dfs_vehicledata'。
他の関係がうまくいくと、1つの関係がうまくいかないことがありますか?何か案は?これらはすべてSQL Server Expressであり、SQLNCLI11プロバイダを持つすべてのレポートです。
あなたのエラーメッセージが '無効なオブジェクト名「dfs_database.dbo.dfs_vehicledata''言います。あなたは正しいDBを打っていると確信していますか?テーブル名は、開いているクエリでも大文字と小文字が区別されることがあります。 – LordBaconPants
そのサーバーで同じクエリをローカルに実行できますか? – Anton
そのサーバーにマップされているリンクサーバーをセットアップし、そのサーバーに任意のオブジェクトにアクセスできるかどうかを確認してください。 – Anton