Версия ОС: Windows Server 2008R2 EE x64
Версия SQL Server: SQL Server 2008R2 x64 SP1
Из-за неизвестной ошибки провайдера “Oracle provider for OLE DB” два раза подряд перезапустился сервис SQL Server, запись в логе приложений:
01:46:12 PM Information SERVERNAME.domain.a 1001 Windows Error Reporting N/A N/A Fault bucket , type 0 Event Name: APPCRASH Response: Not available Cab Id: 0 Problem signature: P1: sqlservr.exe P2: 2009.100.2500.0 P3: 4dfb6221 P4: StackHash_6d63 P5: 6.1.7601.17725 P6: 4ec4aa8e P7: c0000374 P8: 00000000000c40f2 P9: P10: Attached files: C:\Users\username\AppData\Local\Temp\WERC049.tmp.appcompat.txt C:\Users\username\AppData\Local\Temp\WERCB13.tmp.WERInternalMetadata.xml C:\Users\username\AppData\Local\Temp\WERDDCA.tmp.mdmp C:\Users\username\AppData\Local\Temp\WERE22E.tmp.WERDataCollectionFailure.txt These files may be available here: C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_sqlservr.exe_acc33c1fca791edc578ecac2be501126d4755535_cab_64a1e249 Analysis symbol: Rechecking for solution: 0 Report Id: 15cbe2fd-ae2a-11e1-a618-3c4a927b0a88 Report Status: 0
01:46:12 PM Error SERVERNAME.domain.a 19019 MSSQL$SQL1 Server N/A The MSSQL$SQL1 service terminated unexpectedly.
Причина перезагрузки SQL Server – это ошибка доступа (access violation AV) – повреждение кучи (heap corruption):
STACK_TEXT:
00000000`00000000 00000000`00000000 oraoledbutl10!Unknown+0x0
FAILURE_BUCKET_ID: ACTIONABLE_HEAP_CORRUPTION_heap_failure_block_not_busy_AFTER_CALL_c0000374_OraOLEDButl10.dll
Чтобы исключить подобное в будущем, убираем свойство “allow in process” провайдера Oracle, чтобы провайдер для линкованного сервера Oracle работал вне процесса SQL Server:
Далее, в соответствии с этой статьей, настраиваем доступ к MSDAINITIALIZE.
Теперь ошибка провайдера “Oracle provider for OLE DB” не повлечет за собой перезапуск службы SQL Server.
Leave a Reply