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