1

リンク サーバーを使用して SQL Server のリモート サーバーからデータを取得するビューがあります。ビューを表示するたびに、返される結果は異なります。たとえば、1 回目の実行では 100 行のレコードが返されますが、2 回目の実行では 120 行が返されます。原因は何ですか?

4

5 に答える 5

1

私は、SQL 自体に書き込まれた非決定論の産物である奇妙なリンク サーバーの結果を目撃しました。つまり、句TOPなしで記述されたクエリです。ORDER BY

この問題は、たとえば、chap がリンク サーバーの左側にあるテーブル ソースからの一意ではない複数の外部キーを持っていてINNER JOIN、リモート サブクエリから右側に 10 行が必要な場合で、最終結果は10 行を超える必要があるのに、それ自体が 10 行に制限されていました。

あなたの SQL に、そのような好奇心にすぐに目を向けることは間違いありません。

于 2009-09-11T13:21:41.977 に答える
0

答えはわかりませんが、(100 と 120 のカウントが正確であると仮定して) 2 つの実行からデータを取得して比較することはできませんか? それは何が起こっているかについてのいくつかの手がかりを与えるかもしれません. たとえば、完全に異なるデータですか、それとも行が重複していますか (120 行のバッチで)。

于 2009-10-05T02:26:04.940 に答える
0

リンク サーバーも SQL Server ですか? そうでない場合、おそらくバグのあるドライバーですか?たとえば、古い Informix ODBC ドライバが原因で、奇妙な結果が見られました。リンク サーバーで SQL プロファイラーに似たものを実行して、受信しているコマンドを確認できますか?

于 2009-08-19T23:38:47.287 に答える
0

SQL Server に完全にパッチが適用されていますか? SQL Server 2008 および 2005 には、リンク サーバーからの不適切なクエリ結果に関連するバグ修正が含まれています。

以下に一例を示します。

969997 修正: SQL Server 2005 または SQL Server 2008 でインデックス OLE DB プロバイダーを使用して作成されたリンク サーバーからデータを照会すると、誤った結果が表示される

于 2009-08-12T04:19:00.453 に答える
0

リンクされたサーバー上のデータは、実行間で変更されましたか?

于 2009-08-12T03:14:14.920 に答える