Configuración de encadenamiento de la base de datos

Microsoft.SQLServer.2016.Database.Configuration.DBChaining (UnitMonitor)

Supervisa la configuración de encadenamiento de propiedad entre bases de datos habilitada para la base de datos. Nota: este monitor está deshabilitado de manera predeterminada. Use las invalidaciones para habilitarla cuando sea necesario.

Knowledge Base article:

Resumen

Este monitor comprueba el valor de configuración Encadenamiento de la base de datos para esta base de datos. Debido a que este monitor forma parte de un requisito de estándares globales, se generará una alerta si la configuración no cumple el estándar especificado.

Configuración

La configuración Encadenamiento de la base de datos controla si recursos externos como los objetos de otra base de datos pueden tener acceso a la base de datos. Si la configuración Encadenamiento de la base de datos se establece en ON, la base de datos puede constituir el origen o el destino de una cadena de propiedad entre bases de datos.

Para minimizar el área expuesta de seguridad y prevenir determinados escenarios de suplantación de identidad, DB_CHAINING se debe establecer en OFF. Solo se debe establecer en ON si se está seguro de que la aplicación lo requiere.

DB_CHAINING {ON | OFF}

Causas

Si la opción no coincide con la configuración necesaria, se generará una alerta de advertencia. De fábrica, este monitor está configurado para generar una alerta cuando este valor de configuración se establezca en “ON”.

Soluciones

Para solucionar este problema puede:

Por otro lado, si este monitor no constituye un problema para la base de datos:

Externo

Vea información más detallada sobre esta configuración: Opciones de ALTER DATABASE SET (Transact-SQL).

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Advertencia

Deshabilitar comprobación para SQL Express

Solo se puede definir como 'true' o 'false'. Si se define como 'true', el flujo de trabajo no tendrá en cuenta la edición de SQL Server Express.

No

Habilitado

Habilita o deshabilita el flujo de trabajo.

No

Valor esperado

Se esperaba un valor de configuración de la base de datos. Para ver el conjunto de valores aplicables, consulte la sección "Configuración" del artículo de la knowledge base de este monitor.

DESACTIVADO

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.

43200

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

300

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.ExternalAccessConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: error de configuración de encadenamiento de la base de datos
La configuración de encadenamiento de propiedad entre bases de datos "{0}" en la instancia de SQL "{1}" del equipo "{2}" no está establecida según el procedimiento recomendado.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.Configuration.DBChaining" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.ExternalAccessConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.Configuration.DBChaining.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>DBChaining</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>