Este monitor comprueba la disponibilidad de la base de datos de distribución desde el suscriptor.
El suscriptor no es capaz de acceder a su base de datos de distribución.
Esta situación se puede deber a:
Un problema de conectividad entre el distribuidor y el suscriptor.
El agente de mezcla o de distribución de replicación no dispone de permisos suficientes para acceder a la base de datos de distribución.
No se puede configurar CredSSP
Compruebe las condiciones siguientes:
Asegúrese de que el acceso de red entre el distribuidor y el suscriptor esté correctamente configurado.
Asegúrese de que los firewall disponibles entre el distribuidor y el suscriptor estén configurados para permitir el acceso en los puertos usados por Microsoft SQL Server.
Asegúrese de que el servicio Administración remota de Windows (WS-Management) se esté ejecutando en el suscriptor.
Asegúrese de que estén configuradas las excepciones de firewall para permitir las conexiones para la Administración remota de Windows a través de HTTP-In.
Asegúrese de que la cuenta del agente de replicación esté correctamente configurada para acceder al distribuidor y al suscriptor.
Asegúrese de que las cuentas de agente de distribución y de mezcla se agreguen al rol fijo db_owner en las bases de datos de distribución y del suscriptor.
Asegúrese de que la cuenta del monitor se encuentre en el grupo de administradores locales en Distribuidor y en Suscriptores.
Asegúrese de que la clave de registro siguiente presente el distribuidor y suscriptores: "LocalAccountTokenFilterPolicy"=dword:00000001 in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
Si hay un firewall en la topología de replicación, puede leer el artículo siguiente: http://support.microsoft.com/kb/164667/
Para agregar la clave LocalAccountTokenFilterPolicy, ejecute lo siguiente:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
Nombre | Descripción | Valor predeterminado |
CredSSP habilitado | Indica que CredSsp está habilitado antes de ejecutar este flujo de trabajo. Lo dejará habilitado tras la ejecución | Sí |
Nombres de bases de datos | Lista de nombres de bases de datos que se deben comprobar, delimitadas por el símbolo «,» |
|
Habilitado | Habilita o deshabilita el flujo de trabajo | No |
Genera alertas | Define si el flujo de trabajo genera una alerta | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 300 |
Puerto | Puerto del servicio WSMan | 5985 |
Prefijo | Nombre del servicio WSMan | wsman |
Nombres de suscriptores | Lista de nombres de suscriptores que deben utilizarse como origen de comprobación, delimitados por el símbolo «|» |
|
Tiempo de sincronización | Tiempo de sincronización |
|
Transporte | Prefijo del protocolo para tener acceso al servicio WSMan | 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>