Sql-server – What User Level is needed for Transactional Replication

replicationsql serversql-server-2008transactional-replication

I've been setting up Transactional Replication between two database servers I have running. My first experiment with setting it up I simply used SA and local Admin account for all of the agents. Because of security reasons I would not want to have agents running around with more rights than they actually need. I tried using DB_Owner for sql accounts and just a regular Windows user however it seems that Transactional Replication isn't working with those settings. ( I might have messed up somewhere)

My question is: What is the minimum level of rights that is required by each agent in order to run Transactional Replication successfully?

Side note: One server is running SQLServer 2012 and the other 2008

Best Answer

The Snapshot Agent process account used to connect to the Distributor must be db_owner in the distribution database and have read, write, and modify permissions on the snapshot share. The account used to connect to the Publisher must be db_owner in the publication database.

The Log Reader Agent process account used to connect to the Distributor must be db_owner in the distribution database. The account used to connect to the Publisher must be db_owner in the publication database.

The permissions required by the Distribution Agent process account depend on whether you are using push or pull subscriptions.

For push subscriptions, the Distribution Agent process account used to connect to the Distributor must be db_owner in the distribution database, be a member of the PAL, and have read permissions on the snapshot share. The account used to connect to the Subscriber must be db_owner in the subscription database.

For pull subscriptions, the Distribution Agent process account used to connect to the Subscriber must be db_owner in the subscription database. The account used to connect to the Distributor must be a member of the PAL and have read permissions on the snapshot share.

The is all covered in the section Permissions That Are Required by Agents in Replication Agent Security Model.