Le compte de connexion n'a pas d'autorisation d'accès à la publication car il ne fait pas partie de la liste d'accès aux publications

Microsoft.SQLServer.2008.LoginAccountIsNotInThePublicationAccessListRule (Rule)

Knowledge Base article:

Résumé

Le compte de connexion n'a pas d'autorisation d'accès à la publication car il ne fait pas partie de la liste d'accès aux publications.

Causes

Lorsque vous créez une publication, Microsoft SQL Server crée une liste d'accès aux publications pour la publication. Cette liste d'accès aux publications contient une liste des connexions qui ont accès à la publication. Vous avez reçu cette erreur parce que la connexion actuelle ne figure pas dans la liste d'accès aux publications de la publication sur laquelle vous tentez d'effectuer l'opération demandée.

Solutions

Pour ajouter ou supprimer des connexions dans la liste d'accès aux publications d'une publication, utilisez SQL Server Enterprise Manager ou les procédures stockées sp_grant_publication_access et sp_revoke_publication_access.

Externe

Procédure : gestion des connexions dans la liste d'accès à la publication (SQL Server Management Studio)

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

Priorité

Définit la priorité de l'alerte.

2

Gravité

Définit la gravité de l'alerte.

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Le compte de connexion n'a pas d'autorisation d'accès à la publication car il ne fait pas partie de la liste d'accès aux publications
{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>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>