错误提示:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22022)
错误原因是因为SQLServerAgent代理没有启动
要正常运行sqlserver的维护计划,必须启动sqlserver agent代理服务。 如果确定sqlserver agent服务已经启动,但维护计划仍然不执行,可以到sqlserver的企业管理器客户端工具左边的树菜单中,选择管理-sql server代理-作业,然后在右边的一个作业项上点击右键,启动作业,这时,会弹出一个报错提示,错误 22022: SQLServerAgent 当前未运行以便不能将此操作通知它。 出现该问题的原因是,sqlserver代理服务不能正确识别注册表中代表本地计算机的点号,具体的键值位置在: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\ 上面的是默认实例的位置,其他实例如下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$InstanceName\ InstanceName是具体的实例名称。
解决方法:
启动AGENT服务(需要mssql server AGENT服务作业才能自动运行)
exec master.dbo.xp_cmdshell 'net start sqlserveragent',NO_OUTPUT
sql server 2005下开启xp_cmdshell的办法
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
SQL2005开启'OPENROWSET'支持的方法:
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
SQL2005开启'sp_oacreate'支持的方法:
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;