Se devuelve el error 945 cuando la base de datos se marca como IsShutdown. Esto ocurre cuando una base de datos no se puede recuperar porque faltan archivos o por otros errores de recursos que normalmente se pueden corregir con facilidad.
Se devuelve el error 945 cuando la base de datos se marca como IsShutdown. Esto ocurre cuando una base de datos no se puede recuperar porque faltan archivos o por otros errores de recursos que normalmente se pueden corregir con facilidad.
En primer lugar, compruebe que la base de datos se ha marcado como IsShutdown mediante DATABASEPROPERTY.
A continuación, determine la causa del error consultando el registro de errores y realice la acción como se indica más adelante.
Haga que los archivos estén disponibles y ponga la base de datos sin conexión (OFFLINE) mediante ALTER DATABASE.
Utilice ALTER DATABASE para poner la base de datos en conexión (ONLINE).
En primer lugar, compruebe que la base de datos se ha marcado como IsShutdown mediante DATABASEPROPERTY.
A continuación, determine la causa del error consultando el registro de errores y realice la acción como se indica más adelante.
Si faltan uno o más archivos de registro o de datos:
Haga que los archivos estén disponibles y ponga la base de datos sin conexión (OFFLINE) mediante ALTER DATABASE.
Utilice ALTER DATABASE para poner la base de datos en conexión (ONLINE).
Si no hay espacio de registro suficiente:
Use sp_add_log_file_recover_suspect_db() para agregar otro archivo de registro.
La base de datos se ha recuperado y se ha puesto en línea mediante este procedimiento.
Si el espacio de datos no es suficiente:
Use sp_add_data_file_recover_suspect_db() para agregar otro archivo de registro.
La base de datos se ha recuperado y se ha puesto en línea mediante este procedimiento.
Si no hay memoria suficiente:
El error de memoria insuficiente puede producirse cuando varias bases de datos se recuperan al mismo tiempo. Si se vuelve a intentar la operación, se podría solucionar el problema:
Intente de nuevo la operación usando ALTER DATABASE para poner la base de datos sin conexión (OFFLINE).
Utilice ALTER DATABASE para poner la base de datos en conexión (ONLINE).
Si volver a realizar la operación no soluciona el problema, considere la opción de liberar memoria.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 300 |
Prioridad | Define la prioridad de alerta. | 1 |
Gravedad | Define la gravedad de alerta. | 1 |
Hora de sincronización | Hora de sincronización |
|
Tiempo de espera (segundos) | Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 200 |
Tiempo de expiración de la conexión de base de datos (segundos) | Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Database_cannot_be_opened_due_to_inaccessible_files_or_insufficient_memory_or_disk_space._See_the_SQL_Server_errorlog_for_details_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>945</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Database_cannot_be_opened_due_to_inaccessible_files_or_insufficient_memory_or_disk_space._See_the_SQL_Server_errorlog_for_details_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>