この記事は、Oracle のリンク サーバー クエリを実行するときに発生する可能性がある問題を解決するのに役立ちます。
元の製品バージョン: SQL Server
元の KB 番号: 2295405
現象
以下のシナリオについて考えてみます。
- Windows Server を実行しているコンピューターに SQL Server をインストールします。
- Oracle データベースのリンク サーバーを作成します。
- OraOLEDB プロバイダー (OLEDB Provider for Oracle) を使用して、リンク サーバー クエリを実行します。
このシナリオでは、SQL Server サービスがクラッシュし、クエリの結果は返されません。 さらに、次の問題が発生することがあります。
Windows システム イベント ログに次のエラー メッセージが表示されます。
SQL Server (MSSQLSERVER) サービスが予期せず終了しました。 これは 1 回実行されています。
SQL Server プロセスのミニダンプ ファイルがヒープ破損で生成され、次のような例外メッセージが表示されます。
minidump.mdmp では、ntdll!Microsoft Corporation の C:\Windows\System32\ntdll.dll の RtlReportCriticalFailure+62 によって、スレッド 235 で不明な例外 (0xc0000374) が発生しました
または、エラーログに別の例外が表示されることがあります。
SqlDumpExceptionHandler: プロセス 74 で生成された致命的な例外 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server により、このプロセスは終了されます。ミニダンプ ファイルのスタックには、 Sqlserver.exe プロセス内にサードパーティ製モジュールが含まれています。 たとえば、ミニダンプ ファイルには、Oracle モジュールに次の情報が含まれています。
OraOLEDButl11 OraOLEDBrst11 OraOLEDBrst10 Full Call Stack: ntdll!RtlReportCriticalFailure+62 ntdll!RtlpReportHeapFailure+26 ntdll!RtlpHeapHandleError+12 ntdll!RtlpLogHeapFailure+a4 ntdll!RtlFreeHeap+1aa8f ole32!CoTaskMemFree+36 OraOLEDButl11+1a5f 0x403d6b00 0x00000001 0x4d200e30 0x00000024 0x403d7ab8 OraOLEDBrst11+12843 0x403b8c00 0x403c95f0 0x403ca610 0x403ca610 0x403c95f0 OraOLEDBrst11+128b1 0x403d7ab8 0x403c95f0 0x4966a260 0x05cd21e0
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
原因
この問題は、Oracle リンク サーバーへのクエリに特殊文字 --
存在するため発生します。 これらの文字は、コメント記号を示すために使用されます。
サードパーティのリンク サーバー プロバイダーが SQL Server プロセス内に読み込まれ、それに属していないヒープ メモリが誤って変更されるため、SQL Server プロセスがクラッシュします。 プロセス内の Heap Functions が不安定な場合、データ破損からの保護のために、プロセスは OS によって自動的にシャットダウンされます。 サード パーティのリンク サーバー プロバイダーが Allow inprocess オプションと共に有効になっている場合、サード パーティのリンク サーバーで説明されている問題が発生すると、SQL Server プロセスがクラッシュします。
回避策
場合によっては、次のいずれかの方法で問題が解決されます。
- コメント記号を削除します。
- コメント記号を
/* */
に置き換えます。
解決方法
情報と最新の修正プログラムについては、サード パーティのプロバイダーにお問い合わせください。 最新の OLEDB プロバイダー バージョンについては、 64 ビット Oracle Data Access Components (ODAC) のダウンロードを参照してください。