I have replication set up between two servers. This morning I came in and it was failing. I was getting these errors:
- The process could not execute ‘sp_replcmds’ on ‘PSQL3’. (Source: MSSQL_REPL, Error number: MSSQL_REPL20011) Get help:
- Cannot execute as the database principal because the principal “dbo” does not exist, this type of principal cannot be impersonated,
or you do not have permission. (Source: MSSQLServer, Error number:
- The process could not execute ‘sp_replcmds’ on ‘PSQL3’. (Source: MSSQL_REPL, Error number: MSSQL_REPL22037)
It turns out that someone had deleted an account on the publishing database that had been the database owner without fixing the database ownership before doing so. This orphaned user, since it didn’t exist, caused replication to break. I assume it’s because it was the database owner.