Microsoft KB Archive/914171

= Error message when you restore or attach an msdb database or when you change the syssubsystems table in SQL Server 2005: &quot;Subsystem % could not be loaded&quot; =

Article ID: 914171

Article Last Modified on 11/20/2007

-

APPLIES TO


 * Microsoft SQL Server 2005 Developer Edition
 * Microsoft SQL Server 2005 Enterprise Edition
 * Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
 * Microsoft SQL Server 2005 Enterprise X64 Edition
 * Microsoft SQL Server 2005 Express Edition
 * Microsoft SQL Server 2005 Standard Edition
 * Microsoft SQL Server 2005 Standard X64 Edition
 * Microsoft SQL Server 2005 Workgroup Edition
 * Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems

-



Bug #: 425161 (SQBUDT)



SYMPTOMS
Consider the following scenario. You perform one of the following actions in Microsoft SQL Server 2005:
 * You restore an msdb backup.
 * You attach an msdb database.
 * You change the information in the syssubsystems table in the msdb database.

The paths to the SQL Server Agent subsystem DLLs are stored in the msdb.dbo.syssubsystems table in the msdb database. The locations do not correspond to the current locations of the binaries for the instance of SQL Server 2005. In this scenario, an error occurs. The following error message may be logged in the SQL Server Agent log or in the Job step history:

Subsystem %s could not be loaded (reason: The specified module could not be found)

When this error occurs, jobs may fail. Additionally, the following error message may be logged in the Job steps history:

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

The following error is logged in the SQL Server Agent logs:

2006-01-24 14:02:41 - ! [125] Subsystem %s could not be loaded (reason: The specified module could not be found)



RESOLUTION
To work around this problem, delete the entries from the msdb.dbo.syssubsystems table, and then repopulate the entries. The following steps will update the subsystem DLLs to the correct path based on the current install folder. To do this, follow these steps:   In SQL Server Management Studio, run the following script. use msdb go delete from msdb.dbo.syssubsystems exec msdb.dbo.sp_verify_subsystems 1 go  Stop and then restart the SQL Server Agent service.

Additional query words: Subsystem SQLAgent ActivexScripting ANALYSISCOMMAND ANALYSISQUERY QueueReader

Keywords: kbtshoot kbprb kbexpertiseadvanced kbexpertiseinter kbsql2005engine KB914171

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.