FIX: 错误消息,当您运行该 sp_add_alert 存储过程 SQL Server 2008 中正在运行 Windows Server 2008 或 Windows Vista 的计算机上:"SQLServerAgent 错误: WMI 错误: 0x80041003"

文章翻译 文章翻译
文章编号: 973303 - 查看本文应用于的产品
Microsoft 分布 Microsoft SQL Server 2008 修复程序作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2008 中包含的修补都程序版本。
展开全部 | 关闭全部

症状

请考虑以下情形:
  • 您正在运行 Windows Vista 或 Windows Server 2008 的计算机上安装 Microsoft SQL Server 2008。
  • 您有一个网络服务帐户不是 sysadmin 固定的服务器角色的成员。
  • 使用此网络服务帐户作为启动帐户 SQL Server 代理服务。
在这种情况下从 msdb 数据库运行 sp_add_alert 存储过程时您将收到以下错误消息:

消息 22022,级别 16 状态 1,0 行
SQLServerAgent 错误: WMI 错误: 0x80041003。
消息 14511,级别 16 状态 1 过程 sp_verify_alert 行 300
不能在提供该 @ wmi_namespace 执行 @ wmi_query。请确认在查询中选定的一个事件类存在命名空间中,并且查询有正确的语法。

原因

SQL Server 2008 安装程序在 sysadmin 固定的服务器角色中使用 SQL Server 代理服务帐户。此行为应授予 sysadmin 权限服务帐户,此行为不应在网络服务帐户时 SQL Server 代理程序的启动帐户危及安全。

出现此问题的原因是 SQL Server WMI 提供程序的访问检查不检查服务帐户的权限。因此,SQL Server WMI 提供程序块功能的访问检查需要实现 sp_add_alert 存储过程,SQL Server 代理如果启动帐户不在 sysadmin 固定的服务器角色。

注意在早期版本的 Windows 操作系统不具有服务安全标识符 (SID),未出现此问题。在早期版本中不会出现此问题,原因是 SQL Server 安装程序使用 SQL Server 代理程序的启动帐户,在 sysadmin 固定的服务器角色中。

解决方案

此修补程序更改 SQL Server WMI 提供程序授予访问权限如果 SQL Server 代理服务帐户在 sysadmin 固定服务器角色的访问检查。

SQL Server 2008 年

重要如果您正在运行 SQL Server 2008 的发行版本,则必须使用此修复程序。

累积更新 6 中第一次释放此问题的修复程序。有关如何获取 SQL Server 2008 年此累积更新包的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
971490累积更新包 6 SQL Server 2008 年
注意因为这些版本是累积性的因此每个新的修补程序版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2008 中包含的修补都程序版本。我们建议您考虑应用最新的修补程序版本包含此修补程序。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909SQL Server 2008 生成 SQL Server 2008 发布之后发布的

SQL Server 2008 Service Pack 1

重要如果您正在运行 SQL Server 2008 Service Pack 1,则必须使用此修复程序。

累积更新 4 SQL Server 2008 Service Pack 1 中第一次释放此问题的修复程序。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
973602累积更新包 4 为 SQL Server 2008 Service Pack 1
注意因为这些版本是累积性的因此每个新的修补程序版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2008 中包含的修补都程序版本。Microsoft 建议您考虑应用最新的修补程序版本包含此修补程序。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365SQL Server 2008 生成之后 SQL Server 2008 Service Pack 1 发布发布
Microsoft SQL Server 2008 修复程序会创建特定 SQL Server 服务包。必须将 SQL Server 2008 Service Pack 1 修补程序应用到 SQL Server 2008 Service Pack 1 的安装。默认状态下,SQL Server service pack 中提供的任何修补程序包含在下一个 SQL Server 服务包中。

替代方法

要变通解决此问题,请按照下列步骤操作:
  • 将 SQL Server 代理启动帐户设置为不是网络服务帐户如域帐户的帐户。
  • 将 SQL Server 代理启动帐户添加到 sysadmin 固定服务器角色。
  • 请重新运行 sp_add_alert 存储过程。
注意我们不建议您将网络服务帐户添加到 sysadmin 固定的服务器角色。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

参考

对于 SQL Server 增量的服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897一个增量的服务模型是可从 SQL Server 团队提供报告的问题的修补程序


有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构


有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 973303 - 最后修改: 2009年7月24日 - 修订: 1.2
这篇文章中的信息适用于:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
关键字:?
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB973303 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 973303
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com