Estado de la base de datos

Microsoft.SQLServer.2008.Database.DBStatusMonitor (UnitMonitor)

Este monitor comprueba el estado de la base de datos que devuelve Microsoft® SQL Server™.

Knowledge Base article:

Resumen

Este monitor comprueba el estado de la base de datos que devuelve Microsoft® SQL Server™. Para ello, se ejecuta una consulta en la base de datos maestra de la instancia de SQL y se devuelve el estado de la base de datos. Si recibe una alerta de este monitor, deberá realizar una acción para devolver la base de datos a un estado operativo.

Causas

Un estado incorrecto indica que la base de datos de SQL Server™ no está disponible actualmente. Todos los estados, excepto los estados EN LÍNEA y RESTAURANDO para los reflejos de base de datos, producirán un estado incorrecto. Aquí se enumeran los posibles estados:

Estado de SQL Database

Descripción

Estado de mantenimiento de MOM

ONLINE

La base de datos está disponible para su acceso. El grupo de archivos principal está en línea, aunque la fase de deshacer de la recuperación puede no haberse completado.

Correcto

OFFLINE

La base de datos no está disponible. Una base de datos pasa a estar sin conexión por las acciones explícitas del usuario y permanece sin conexión hasta que el usuario toma otra acción. Por ejemplo, la base de datos puede dejarse sin conexión para mover un archivo a un nuevo disco. La base de datos se vuelve a poner en línea una vez completado el traslado.

Crítico

RECUPERACIÓN PENDIENTE

SQL Server™ ha detectado un error relacionado con recursos durante la recuperación. La base de datos no está dañada pero pueden faltar archivos o bien limitaciones de recursos del sistema pueden estar impidiendo que se inicie. La base de datos no está disponible. Se necesita una acción adicional por parte del usuario para resolver el error y permitir que se complete el proceso de recuperación.

Crítico

SUSPECT

Como mínimo un grupo de archivos principal es sospechoso y puede estar dañado. La base de datos no se puede recuperar durante el inicio de SQL Server™. La base de datos no está disponible. Se requiere una acción adicional por parte del usuario para resolver el problema.

Crítico

EMERGENCY

El usuario ha cambiado la base de datos y ha establecido el estado en EMERGENCY. La base de datos está en modo de usuario único y se puede reparar o restaurar. La base de datos está marcada como READ_ONLY, el registro está deshabilitado y el acceso está limitado a miembros del rol fijo de servidor sysadmin. EMERGENCY se utiliza principalmente para solucionar problemas. Por ejemplo, una base de datos marcada como sospechosa se puede establecer en el estado EMERGENCY. Esto puede permitir al administrador del sistema acceso de solo lectura a la base de datos. Solamente los miembros del rol fijo de servidor sysadmin pueden establecer una base de datos en el estado EMERGENCY.

Crítico

RESTORING

Uno o varios archivos del grupo de archivos principal se está restaurando, o uno o varios archivos secundarios se están restaurando sin conexión. La base de datos no está disponible. Este es el estado operativo normal del reflejo de la base de datos.

ADVERTENCIA o CORRECTO

RECOVERING

Se está recuperando la base de datos. El proceso de recuperación está en un estado transitorio, la base de datos se pone automáticamente en línea si la recuperación tiene éxito. Si la recuperación no tiene éxito, la base de datos pasa a ser sospechosa. La base de datos no está disponible.

ADVERTENCIA

Para encontrar el estado exacto devuelto para la base de datos, examine el contexto del cambio de estado y de la alerta.

Soluciones

Puede intentar volver a poner la base de datos en línea y solucionar el problema. Para ello, ejecute la siguiente tarea:

Poner en línea la base de datos

Externo

Obtenga más información acerca de SQL Server™ en:

http://www.microsoft.com/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.

Error

Habilitado

Habilita o deshabilita el flujo de trabajo.

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.

3600

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

 

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.2008.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
Base de datos sin conexión
La base de datos {2} de la instancia de SQL Server {1} del equipo {0} está en estado sin conexión/recuperación pendiente/sospechosa/emergencia.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="NeitherGoodNorBad" MonitorTypeStateID="NeitherGoodNorBad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>