The SSIS subsystem failed to load

SQL Server, Oracle Add comments

SQL Server’in bulunduÄŸu makineyi deÄŸiÅŸtirdikten sonra mevcut sistemde tanımlı Job’ları da yeni sunucuya aktardık. Yöntem olarak msdb veritabanını attach ettik. Bu Job’lar SSIS paketlerini çalıştırıyor. Job’ları çalıştırdığımızda aÅŸağıdaki hatayı aldım.

Unable to start execution of step 1 (reason: The SSIS subsystem failed to load [see the SQLAGENT.OUT file for details]; The job has been suspended). The step failed.

Bu sorunun nedeni eski ile yeni sunucunun SQL Server kurulum klasörlerinin farklı oluÅŸuymuÅŸ. Çünkü SQL Server TSQL, CmdExec, SSIS, PowerShell, Snapshot, LogReader, Distribution … gibi SQL Server Agent üzerindeki alt sistemlere ait DLL bilgilerini msdb.dbo.syssubsystems tablosunda tutuyor. Bu tablodaki kütüphane adresleri eski sunucuda farklı olduÄŸu için sistem SSIS paketlerini hangi motorla çalıştıracağını bilemiyor.

Bu sorunun kolay bir çözüm var. sp_verify_subsystems prosedürü ilgili alt sistemler için doğru DLL adreslerini yeniden oluşturuyor. Aşağıdaki gibi tablodaki mevcut kayıtları silip ilgili prosedürü çalıştırmamız yeterli olacaktır.

--Mevcut kayıtları sil
DELETE FROM msdb.dbo.syssubsystems

--Tabloyu yeni DLL adresleriyle yeniden doldur
EXEC msdb.dbo.sp_verify_subsystems 1

Leave a Reply


7 − = 6

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS GiriÅŸ