2010-02-25 21:16:35.054 Status: 0, code: 20011, text: 'The process could not execute 'sp_replcmds' on 'CHRISSKACER'.'.2010-02-25 21:16:35.056 The process could not execute 'sp_replcmds' on 'CHRISSKACER'.2010-02-25 21:16:35.057 Status: 0, code: 15517, text: '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.'.2010-02-25 21:16:35.058 Status: 0, code: 22037, text: 'The process could not execute 'sp_replcmds' on 'CHRISSKACER'.'.
The SQL Agent was configured to run using 'ChrisSkAcer\Chris'. In login properties, this account has “system administrator” rights. To eliminate JOB properties or SQL Agent authentication as problem, tried running LogRead.exe from CMD prompt while logged on using the same administrator count.
c>logread.exe -Publisher [CHRISSKACER] -PublisherDB [AdventureWorksLT] -Distributor [CHRISSKACER] -DistributorSecurityMode 1 -continuous
>>
--Connected to Publisher via SSMS and executed LogReader "read" stored proc as 'sa'
sp_replcmds
--display SQL Server login token (also called Security ID or SID)
ChrisSkAcer\Chris0x5EEC29DAFF38CF043B0FFE4AEB030000
--display dbo token in Published database
select
--confirms the DBO SID doesn't match login SID--Change owner
sp_changedbowner
--The login was a user, but not DBO--DROP data base USER 'ChrisSkAcer\Chris' and added user back as DBO.
Needed to verify the user_token (SID) not matches the login_in SID used to identify the login when user first connects to SQL Server.
select * from sys.user_token
Now the sys.login_token matches sys.user_token. LogReader connected as DBO and processed commands