La página P_ID tenía un tipo de página no esperado por el código que intenta interpretarla. La página se ha marcado como asignada; no obstante, es el motivo por el que el código DBCC está intentando interpretarla.
La página P_ID tenía un tipo de página no esperado por el código que intenta interpretarla. La página se ha marcado como asignada; no obstante, es el motivo por el que el código DBCC está intentando interpretarla.
Los distintos tipos de página son:
1 - Page::DATA_PAGE: página de datos en un montón o en un índice agrupado.
2 - Page::INDEX_PAGE: página de índice (árbol B) en el árbol de un índice agrupado o no agrupado, o la hoja de un índice no agrupado.
3 - Page::TEXT_MIX_PAGE: página de texto compartida entre varias estructuras textuales.
4 - Page::TEXT_TREE_PAGE: página de texto no compartida.
5 - No utilizado.
6 - Page::WF_PAGE: página de archivo de trabajo.
7 - Page::SORT_PAGE: página usada en órdenes internos.
8 - Page::GAM_PAGE: mapa de asignación GAM.
9 - Page::SGAM_PAGE: mapa de asignación SGAM.
10 - Page::IAM_PAGE: mapa de asignación de índice.
11 - Page::PFS_PAGE: página de estado de espacio disponible y de asignación.
12 - No utilizado.
13 - Page::BOOT_PAGE: página de información de base de datos.
14 - Page::SYSCONFIG_PAGE: bloque de configuración de servidor.
15 - Page::FILEHEADER_PAGE: primera página de cada archivo.
16 - Page::DIFF_MAP_PAGE: mapa de bits diferencial para un intervalo de GAM.
17 - Page::ML_MAP_PAGE: mapa de extensiones registradas al mínimo para un intervalo de GAM.
Información por estado:
Estado 1: la página se ha encontrado en el nivel hoja de una tabla de sistema crítica, pero no era una página de datos con el tipo = 1.
Estado 36: la página posee un tipo de página totalmente irreconocible o se ha marcado como página cuya asignación anuló DBCC previamente durante la reparación. El error se ha detectado durante el método Page::Audit.
Estado 300: la página es una página de datos con el tipo = 1, pero pertenece a un índice no agrupado.
Estado 301: la página es una página de índice con el tipo = 2, pero pertenece a un montón o a un índice de texto.
Estado 302: la página es una página de texto con el tipo = 3 o 4, pero pertenece a un montón o a un índice agrupado o no agrupado.
Estado 303: este estado se obtiene del código que está leyendo páginas supuestamente asignadas a un índice (es decir, son páginas IAM o páginas de datos, páginas de índice o páginas de texto marcadas como asignadas a una página IAM). El código ha encontrado una página que no es de ninguno de estos tipos. Examine el tipo de página para determinar qué tipo de página se ha encontrado.
ERROR DE HARDWARE
Ejecute un diagnóstico de hardware y corrija cualquier problema. Examine además los registros de sistema y aplicaciones de Microsoft Windows NT, así como el registro de errores de SQL Server, para ver si el error se ha producido como consecuencia de un error de hardware. Corrija los problemas relacionados con el hardware.
Si tiene continuos problemas de incoherencia de datos, pruebe a intercambiar los distintos componentes de hardware para aislar el problema. Compruebe que el sistema no tiene habilitada la memoria caché de escritura en el controlador de disco. Si sospecha que este puede ser el caso, póngase en contacto con el proveedor 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.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Prioridad | Define la prioridad de la alerta. | 1 |
Gravedad | Define la gravedad de la alerta. | 2 |
Target | Microsoft.SQLServer.2016.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8938 | ||
Event Source | $Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2016ID='{121A55A3-5324-47C2-BBF9-537DCD60C5C1}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2016.Table_error___Unexpected_page_type__1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{121A55A3-5324-47C2-BBF9-537DCD60C5C1}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8938</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Table_error___Unexpected_page_type__1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>