L'account di accesso non dispone dell'autorizzazione di accesso alla pubblicazione perché non è incluso nell'elenco di accesso alla pubblicazione.
Quando si crea una pubblicazione in Microsoft SQL Server, viene creato anche il relativo elenco di accesso alla pubblicazione. Tale elenco contiene tutti gli account di accesso che dispongono dell'autorizzazione di accesso alla pubblicazione. Questo errore viene generato quando l'account di accesso corrente non è incluso nell'elenco di accesso relativo alla pubblicazione sulla quale si sta tentando di eseguire l'operazione richiesta.
Per aggiungere o eliminare account di accesso nell'elenco di accesso relativo a una pubblicazione, usare SQL Server Enterprise Manager o le stored procedure sp_grant_publication_access e sp_revoke_publication_access.
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Priorità | Definisce la priorità dell'avviso. | 2 |
Gravità | Definisce la gravità dell'avviso. | 2 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.2008.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<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>