現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2012 または SQL Server 2014 のリモートソースとして Oracle データベースにアクセスするようにリンクサーバーを構成していますが、そのリンクサーバーに対しては "オラクル" OleDB プロバイダーを使います。
-
Oracle テーブルを参照するリモートクエリを使用していますが、このテーブルには Oracle の固有の番号の種類を持つ1つ以上の列が含まれています。 このテーブルには、かなりの数の行も含まれています。
このシナリオでは、従来の Microsoft "MSDAORA" OleDB プロバイダーと比較してパフォーマンスの問題が発生する可能性があります。 この問題は、"オラクル" プロバイダーが数値データ型を SQL Server に報告する方法が原因で発生します。
解決方法
この問題を解決するには、この更新プログラムを適用し、トレースフラグの TF9394 を有効にします。 トレースフラグ TF9394 を有効にするには、「詳細情報」セクションを参照してください。
累積的な更新プログラムの情報
この問題は、次の更新プログラムで修正されています。
-
SQL Server 2014 の累積更新プログラム 13
-
SQL Server 2014 Service Pack 1 (SP1) の累積更新プログラム 6
-
SQL Server 2012 Service Pack 3 (SP3) の累積更新プログラム 2
-
累積更新プログラム 11 SQL Server 2012 Service Pack 2 (SP2)
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
トレースフラグ9394を有効にする方法トレースフラグ9394は、起動時またはユーザーセッションで有効にすることができます。 このトレースフラグには、グローバルレベルまたはセッションレベルの効果があります。 トレースフラグ9394を有効にするには、 DBCC TRACEON コマンドを使用するか、スタートアップパラメーターとして – T 9394 を使用します。 DBCC TRACEON\ traceoff を使うと、ストアドプロシージャの新しいキャッシュされたプランは再生成されません。 トレースフラグなしで作成されたキャッシュを計画している可能性があります。トレースフラグを有効または無効にする方法、およびグローバルとセッションレベルのトレースフラグについて詳しくは、SQL Server Books Online の次のトピックを参照してください。
参照情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語 について説明します。
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。