Questo monitoraggio controlla la disponibilità del database di distribuzione dal Sottoscrittore.
Il sottoscrittore non riesce a raggiungere il proprio database di distribuzione.
Questa situazione può essere causata da:
Problema di connettività tra il server di distribuzione e il sottoscrittore.
Le autorizzazioni per l'agente di distribuzione della replica o per l'account dell'agente di merge non sono sufficienti per accedere al database di distribuzione.
Non è possibile configurare CredSSP
Verificare le condizioni seguenti:
Assicurarsi che l'accesso alla rete tra il server di distribuzione e il Sottoscrittore sia configurato correttamente.
Assicurarsi che i firewall tra il server di distribuzione e il Sottoscrittore siano configurati per consentire l'accesso tramite le porte usate da Microsoft SQL Server.
Assicurarsi che il servizio Gestione remota Windows (WS-Managament) sia in esecuzione nel Sottoscrittore.
Assicurarsi che le eccezioni del firewall siano configurate per consentire le connessioni per Gestione remota Windows tramite HTTP in entrata.
Assicurarsi che l'account dell'agente di replica sia configurato correttamente per accedere sia al server di distribuzione che al Sottoscrittore.
Assicurarsi che gli account dell'agente di distribuzione e dell'agente di merge siano aggiunti al ruolo predefinito db_owner nei database di distribuzione e sottoscrittore.
Assicurarsi che l'account di monitoraggio sia incluso nel gruppo Administrators locale nel server di distribuzione e nei Sottoscrittori.
Assicurarsi che la chiave del Registro di sistema seguente sia presente nel server di distribuzione e nei Sottoscrittori: "LocalAccountTokenFilterPolicy"=dword:00000001 in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
Se nella topologia di replica è presente un firewall, leggere 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
Nome | Descrizione | Valore predefinito |
CredSsp abilitato | Indica che CredSsp è stato abilitato prima dell'esecuzione di questo flusso di lavoro. Verrà lasciato abilitato dopo l'esecuzione | Sì |
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 | Sì |
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 |
|
Trasporto | Prefisso del protocollo per accedere al servizio WS-Management | http |
Target | Microsoft.SQLServer.2008.Replication.Distributor | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.Replication.MonitorType.DistributorAvailabilityFromSubscriberMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.DistributorAvailabilityFromSubscriberMonitor.RunAs.Monitor |
<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>
<SyncTime/>
</Configuration>
</UnitMonitor>