Problem:

My snapshot agent fails to create a dynamic snapshot  for a subscriber in my Merge replication environment. Each subscriber is supposed to receive the snapshot based on their login account. Each account is explicitly added to a group which is defined in the PAL .However the agent fails with the below error.

The login 'Domain\CLSILVA.Claudia' does not have access permission on publication 'TestPublication' because it is not in the publication access list.

If I explicitly add this account as a SQL login and give it sys admin permissions, the snapshot agent works.

Cause/Workaround:

This issue occurs when the login account was given permission via group membership0
Sp_MSreplcheck_pull tries access a system table in which contains records for each login account and does not have any information for the account accessed via group membership.

Workaround was to explicitly add the login on the publisher.