使用英语阅读

通过


MSSQL_ENG024070

适用于: SQL Server Azure SQL 托管实例

消息详细信息

Attribute
产品名称 SQL Server
事件 ID 24070
事件来源 MSSQLSERVER
组件 SQL Server 数据库引擎
符号名称
消息正文 客户端没有所需的特权。

说明

这是一个常规错误,不管是否进行复制,都会引发该错误。 对于复制拓扑中的服务器,通常会引发此错误,因为使用 Microsoft Windows 服务控制管理器(而不是SQL Server 配置管理器)更改了SQL Server 代理服务帐户。 当您在更改服务帐户后尝试运行代理作业时,作业可能会失败,并显示类似如下的错误消息:

Executed as user: \<UserAccount>. Replication-Replication Snapshot Subsystem: agent \<AgentName> failed. Executed as user: \<UserAccount>. A required privilege is not held by the client. The step failed. [SQLSTATE 42000] (Error 14151). The step failed.

出现此问题的原因是 Windows 服务控制管理器无法向SQL Server 代理的新服务帐户授予所需的权限。

用户操作

若要避免将来出现此问题,请始终使用SQL Server 配置管理器而不是 Windows 服务控制管理器来更改服务帐户和密码。

若要解决此问题,请使用SQL Server 配置管理器将服务帐户更改回原始帐户。 然后,使用SQL Server 配置管理器更改为新帐户。 执行此操作时,SQL Server 配置管理器将新帐户添加到以下安全组:

SQLServer2008SQLAgentUser$ComputerName$InstanceName

成为此安全组的成员,便可以向新帐户授予运行复制代理作业所需的权限。