Disponibilidad de la base de datos de distribución desde un suscriptor.

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

Este monitor comprueba la disponibilidad de la base de datos de distribución desde el suscriptor.

Knowledge Base article:

Resumen

El suscriptor no es capaz de acceder a su base de datos de distribución.

Causas

Esta situación se puede deber a:

Resoluciones

Compruebe las condiciones siguientes:

Adicional

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

Parámetros invalidables

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

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

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

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
Replicación de MSSQL2008: La base de datos de distribución no está disponible desde el suscriptor.
La base de datos de distribución no está disponible desde los suscriptores ({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>
<SyncTime/>
</Configuration>
</UnitMonitor>