|Product Name||SQL Server|
|Component||SQL Server Database Engine|
|Message Text||A required privilege is not held by the client.|
This is a general error that can be raised regardless of whether replication is being used. For a server in a replication topology, the error is typically raised because the SQL Server Agent service account is changed by using the Microsoft Windows Service Control Manager instead of SQL Server Configuration Manager. When you try to run an agent job after changing the service account, the job might fail with an error message that is similar to the following:
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.
This problem occurs because the Windows Service Control Manager cannot grant the required permissions to the new service account for SQL Server Agent.
To avoid this problem in the future, always use SQL Server Configuration Manager instead of the Windows Service Control Manager to change service accounts and passwords.
To resolve this problem, use SQL Server Configuration Manager to change the service account back to the original account. Then, use SQL Server Configuration Manager to change to the new account. When you do this, SQL Server Configuration Manager adds the new account to the following security group:
Being a member of this security group grants to the new account the required permissions to run the replication agent job.