La cuenta de inicio de sesión no tiene permiso de acceso a la publicación porque no está en la lista de acceso a la publicación

Microsoft.SQLServer.2008.LoginAccountIsNotInThePublicationAccessListRule (Rule)

Knowledge Base article:

Resumen

La cuenta de inicio de sesión no tiene permiso de acceso a la publicación porque no está en la lista de acceso a la publicación.

Causas

Al crear una publicación, Microsoft SQL Server crea una lista de acceso a la publicación (PAL) para dicha publicación. La lista PAL contiene una lista de los inicios de sesión a los que se ha concedido acceso a la publicación. Ha recibido este error porque el inicio de sesión actual no se encuentra en la lista PAL de la publicación en la que está intentando realizar la operación solicitada.

Soluciones

Para agregar o eliminar inicios de sesión en la lista PAL de cualquier publicación, use el Administrador corporativo de SQL Server o los procedimientos almacenados sp_grant_publication_access y sp_revoke_publication_access.

Externo

Cómo administrar los inicios de sesión en la lista de acceso a la publicación (SQL Server Management Studio)

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
La cuenta de inicio de sesión no tiene permiso de acceso a la publicación porque no está en la lista de acceso a la publicación
{0}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2008.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.LoginAccountIsNotInThePublicationAccessListRule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2008.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<PublisherName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</PublisherName>
<EventNumber>21049</EventNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.LoginAccountIsNotInThePublicationAccessListRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>