2009-08-12 20 views
1

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

+0

どのバージョンのSQL Serverとどのパッチレベルですか? –

+0

SQL Server 2005 SP2 –

答えて

0

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

+0

いいえ、リンクサーバーのデータは修正されています。私はローカルサーバーに参加するためにそれを取得しています。 –

+0

参加しているローカルテーブルは変更されていますか? –

+0

いいえ... –

0

SQL Serverは完全にパッチされていますか? SQL Server 2008と2005の両方には、リンクサーバーからの誤ったクエリ結果に関するバグ修正があります。

Hereは一例です:

969997 FIX:SQL Server 2005でまたはSQL Server 2008の

のインデックスOLE DBプロバイダを使用して作成されたリンクサーバーからデータを照会するときに、誤った結果を受け取ります
+0

いいえ、SQL Server 2005 SP3はSQL Serverには適用されません。 .. –

+0

リモートサーバーも必ず確認してください:) – KenJ

+0

私はSP3と修正プログラムと共にローカルサーバーとリモートサーバーの両方にパッチを当てています。現在、返される結果はそれ以下であり、データの不一致はまだ発生しています...... –

0

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

1

私は、SQL自体に書かれた非決定性の産物である奇妙なリンクサーバー結果を目撃しました。 TOPクエリはORDER BY句なしで書かれています。

This problemたとえば、リンクサーバーINNER JOINの左側にあるテーブルソースから複数の非一意の外部キーがあり、リモートサブクエリの右側に10行が必要な場合、最終結果は10行以上にする必要がある場合は、10行に制限されていました。

間違いなく、このような好奇心のためにSQLにすばやく目を向ける必要があります。

0

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

関連する問題