Este error se puede producir cuando no se puede crear una restricción, pero, por algún motivo, la creación no se ha revertido por completo. También puede deberse a un problema de coherencia de las tablas de sistema de la base de datos donde reside la tabla mencionada en el mensaje.
Este error se puede producir cuando no se puede crear una restricción, pero, por algún motivo, la creación no se ha revertido por completo. También puede deberse a un problema de coherencia de las tablas de sistema de la base de datos donde reside la tabla mencionada en el mensaje.
ERROR DE HARDWARE
Ejecute un diagnóstico de hardware y corrija cualquier problema. Examine además los registros de aplicaciones y del sistema de Linux, así como el registro de errores de SQL Server, para ver si el problema se ha producido como consecuencia de un error de hardware. Corrija los problemas relacionados con el hardware.
Si tiene problemas persistentes de datos dañados, pruebe a intercambiar los diferentes componentes de hardware para aislar el problema. Asegúrese de que el sistema no tenga habilitada la caché de escritura en la controladora de disco. Si cree que este es el caso, póngase en contacto con el fabricante de hardware.
Por último, podría resultar útil cambiar a un sistema de hardware completamente nuevo, lo que incluye volver a dar formato a las unidades de disco y reinstalar el sistema operativo.
RESTAURAR DESDE COPIA DE SEGURIDAD
Si el problema no está relacionado con el hardware y tiene una copia de seguridad limpia disponible, úsela para restaurar la base de datos.
DBCC CHECKDB
Si no hay ninguna copia de seguridad limpia disponible, ejecute DBCC CHECKDB sin una cláusula de reparación para determinar el alcance de los daños. DBCC CHECKDB recomendará la cláusula de reparación que se debe usar. A continuación, ejecute DBCC CHECKDB con la cláusula de reparación adecuada para solucionar los daños.
PRECAUCIÓN: si no está seguro del efecto que pueda tener DBCC CHECKDB con una cláusula de reparación sobre sus datos, póngase en contacto con el proveedor de soporte técnico principal antes de ejecutar esta instrucción.
Si se ejecuta DBCC CHECKDB con una de las cláusulas de reparación pero no se soluciona el problema, póngase en contacto con el proveedor de soporte técnico principal.
Si el error se vuelve a producir y DBCC CHECKDB no ha informado de ningún error, lleve a cabo las restricciones con el script, quite las restricciones y, después, vuelva a crearlas. Si aun así recibe el error, transfiera los datos a una tabla nueva y quite la existente.
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.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{F23E8397-4438-493B-A4DF-3C6A93B12E6A}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Could_not_find_CHECK_constraint_although_the_table_is_flagged_as_having_one_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{F23E8397-4438-493B-A4DF-3C6A93B12E6A}';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.Linux.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>433</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Could_not_find_CHECK_constraint_although_the_table_is_flagged_as_having_one_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>