I have setup TRANSACTIONAL REPLICATION from ServerA to ServerB

ServerA = Primary Server = SQL Server 2008 R2 Enterprise
ServerB = Secondary Server = SQL Server 2008 R2 Standard Edition.

I have used a Domain Account for Snapshot Agent and Log Reader Agent, called SQLAgent.

The initial snapshot is initialised successfully, from there its all down hill.

Error Log:

Login failed for user 'ServerName\SQLAgent'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: ]

Replication Monitor:

Publication Status: OK
Agents: for both Agents Snapshot and Log Reader Status shows it is Running.....
and Last Run Property says Starting Agent...

As it is obvious from the error message the Login is failing to get access to SQL Server, So just for test purpose I gave this SQLAgent account sysadmin role. Yet the error persist.

All the material I can find online, suggests Giving more permissions to login will solve the issue. But if sysadmin role hasnt solved it, I have kind of ran out of ideas now.

Can someone please suggest what is that I am missing?

how can I fix it?

  • 1
    An "infrastructure error" is just that. Infrastructure is not SQL Server... The error message is essentially saying it cannot authenticate against the domain correctly. Is the domain controller on the same physical network as both SQL servers? Does the Event Log on the domain controller show any pertinent errors?
    – Hannah Vernon
    Oct 24, 2014 at 1:10
  • Thank you @HannahVernon for your comment. Yes DC is on the same physical network. DC event log shows exactly the same error message, shown in my question. I have checked Domain Account's details Password and login name and all seems to be fine. After doing some research online I found out, after all this is a common issue, and yet I have not found a straight forward solution for this issue. Can you suggest something please? An article? a white paper? or anything? please thank you
    – M.Ali
    Oct 25, 2014 at 13:57
  • As silly as it may sound, at some point I may have deleted and created the SQLAgent login. so the SQLAgent user in system database Distributor was orphaned. fixing that fixed the issue. But I have to say SQL error log was very misleading in this scenario.
    – M.Ali
    Oct 25, 2014 at 15:07
  • Have you added the user and/or proxy account to the Publication Access list?
    – nkdbajoe
    Aug 27, 2019 at 3:22

1 Answer 1


I have used a Domain Account for Snapshot Agent and Log Reader Agent, called SQLAgent.

If you check this answer:

The process could not connect to Subscriber

you will see that the SQLAgent account must have a login on your ServerB and must be a db_owner on your subscription database there.

It does not need to be a sysadmin on your ServerA.

It has though, to have sufficient permissions on your snapshot folder wherever you decide that should be.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.