Disponibilità del database di distribuzione da un Sottoscrittore

Microsoft.SQLServer.2008.Replication.Monitor.DistributionDBAvailabilityFromSubscriber (UnitMonitor)

Questo monitoraggio controlla la disponibilità del database di distribuzione dal Sottoscrittore.

Knowledge Base article:

Riepilogo

Il sottoscrittore non riesce a raggiungere il proprio database di distribuzione.

Configurazione

Per usare questo monitoraggio è necessario aggiungere privilegi di amministratore a "Profilo RunAs per il monitoraggio della disponibilità del server di distribuzione della replica di Microsoft SQL Server dal Sottoscrittore".

I nomi di database nella stringa di elenco di nomi di database devono essere separati da virgole.

Un nome di database deve rispettare i requisiti di una delle classi identificatore seguenti:

1) Normale

- Una lettera in base alla definizione dello standard Unicode 3.2. La definizione Unicode di lettere include i caratteri latini dalla a alla z, dalla A alla Z e i caratteri di lettera di altre lingue.

- Il carattere di sottolineatura (_)

- Lettere in base alla definizione dello standard Unicode 3.2.

- Numeri decimali dai caratteri latini di base o da altri script.

- Il simbolo di chiocciola (@), il simbolo di dollaro ($), il simbolo di cancelletto (#) o il carattere di sottolineatura (_).

2) Delimitato - Può contenere qualsiasi carattere e deve essere delimitato da virgolette doppie o parentesi quadre.

3) Non delimitato - Può corrispondere a quasi tutte le sequenze di caratteri e deve rispettare i requisiti successivi:

Un nome di database appartenente a una delle classi precedenti deve avere una lunghezza compresa tra 1 e 128 caratteri, esclusi i caratteri delimitatori.

Per altre informazioni, vedere la pagina https://msdn.microsoft.com/en-us/library/ms175874.

Cause

Questa situazione può essere causata da:

Soluzioni

Verificare le condizioni seguenti:

Altro

Se nella topologia di replica è presente un firewall, vedere l'articolo seguente: http://support.microsoft.com/kb/164667/

Per aggiungere la chiave LocalAccountTokenFilterPolicy, procedere nel modo seguente:

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Errore

CredSsp abilitato

Indica che CredSsp è stato abilitato prima dell'esecuzione di questo flusso di lavoro. Verrà lasciato abilitato dopo l'esecuzione

Nomi di database

Elenco di nomi per i database da controllare, delimitato dal simbolo ','

 

Abilitato

Abilita o disabilita il flusso di lavoro.

No

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

300

Porta

Porta del servizio WS-Management

5985

Prefisso

Nome del servizio WS-Management

WS-Management

Nomi dei sottoscrittori

Elenco di nomi di sottoscrittori da usare come origine di controllo, delimitato dal simbolo '|'

 

Ora di sincronizzazione

Ora di sincronizzazione

 

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

300

Timeout per la connessione di database (secondi)

Il flusso di lavoro avrà esito negativo e registrerà un evento se non riesce ad accedere al database durante il periodo specificato.

15

Trasporto

Prefisso del protocollo per accedere al servizio WS-Management

http

Element properties:

TargetMicrosoft.SQLServer.2008.Replication.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Replica di MSSQL 2008: Il database di distribuzione non è disponibile nel Sottoscrittore.
Il database di distribuzione non è disponibile dai Sottoscrittori ({0})
{1}
RunAsMicrosoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Replication.Monitor.DistributionDBAvailabilityFromSubscriber" Accessibility="Public" Enabled="false" Target="MS2RD!Microsoft.SQLServer.2008.Replication.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Replication.Monitor.DistributionDBAvailabilityFromSubscriber.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Subscriber']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='Message']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Health" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Distributor>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</Distributor>
<Subscriber/>
<Domain>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/Domain$</Domain>
<User>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/UserName$</User>
<Pass>$RunAs[Name="MSRL!Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor"]/Password$</Pass>
<Transport>http</Transport>
<Prefix>wsman</Prefix>
<Port>5985</Port>
<DatabaseNames/>
<CredSspEnabled>true</CredSspEnabled>
<IntervalSeconds>300</IntervalSeconds>
<SqlTimeout>15</SqlTimeout>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>