Summary: En este blog usted aprenderá cómo comprobar si un índice agrupado en SQL Server está dañado. También se discute lo que causa la corrupción de índice agrupado de SQL Server y cómo solucionar el problema. Puede restaurar la base de datos de copia de seguridad o utilizar el software de reparación de base de datos SQL para solucionar la corrupción del índice agrupado en MS SQL Server.
La base de datos Microsoft SQL Server es utilizada por varias empresas medianas y grandes para almacenar y acceder a sus grandes cantidades de datos de forma segura y fiable. Aunque el archivo MDF primario de la base de datos y el archivo NDF secundario son muy fiables, no son inmunes a corromperse.
Puede haber varias razones para la corrupción de archivos de base de datos SQL. Una de las razones es la corrupción del índice de clúster de base de datos, lo que hace que los datos almacenados en los archivos MDF y NDF inaccesibles.
¿Cómo comprobar si el índice en SQL Server está dañado?
Si el índice agrupado en SQL Server está dañado, es posible que reciba un mensaje de error con el siguiente texto:
Servidor: Msg 1902, Level 16, State 3, Line 1
No se puede crear más de un índice agrupado en la tabla ‘Nombre de tabla’. Elimine el índice agrupado existente “Nombre del índice agrupado” antes de crear otro.
Si no ha recibido el error 1902 de SQL Server, puede comprobar si el índice de clúster está dañado de la siguiente manera:
– Intente recuperar los datos de SQL Server de algunas filas. Si un índice está dañado, SQL Server muestra valores eliminados u otros valores en las filas de la base de datos.
– Compruebe el informe de registro de SQL Server para ver si los registros se han editado más de una vez o no. Si comprueba que los registros se han editado más de una vez, significa que el índice está dañado.
¿Qué causa la corrupción de índices agrupados en MS SQL?
Una tabla sólo puede tener un índice agrupado porque el índice agrupado determina el orden de almacenamiento físico de los datos de la tabla. El error 1902 de SQL Server indica que hay más de un índice agrupado en la tabla.
¿Cómo solucionar la corrupción de un índice agrupado en MS SQL?
Dado que una tabla de una base de datos SQL Server sólo puede tener un índice agrupado, cualquier índice adicional para la tabla debe crearse como índice no agrupado. Si desea cambiar la agrupación de la tabla de base de datos SQL, primero debe eliminar el índice agrupado existente antes de crear uno nuevo.
Hay dos métodos para manejar la corrupción en el índice agrupado de SQL Server. Usted puede hacerlo por: –
Restaurar desde copia de seguridad
– Software de reparación de base de datos SQL
Antes de continuar
Antes de intentar reparar el índice agrupado corrupto en la base de datos SQL, debe intentar encontrar las razones exactas de la corrupción. Puede hacerlo con el comando incorporado DBCC CHECKDB. La ejecución de este comando le ayudará a comprobar la integridad lógica y física de la base de datos y le devolverá el ID de la base de datos, el ID del objeto y el ID del índice dañado.
DBCC CHECKDB (CorruptDBName) With No_InfoMsgs, All_ErrorMsgs,
TableResults;
GO
Después de comprobar el ID del índice, puede elegir fácilmente la acción adecuada para solucionar el problema.
Método 1 – Restaurar desde copia de seguridad
Si existe una copia de seguridad de la base de datos de SQL Server, puede restaurarse en cualquier momento para obtener la copia de trabajo de la base de datos del servidor. Sin embargo, este método de restauración a nivel de página sólo es útil si sólo hay unos pocos cambios en la base de datos y sólo se ha dañado una única página del índice.
Si se dañan varias páginas de la base de datos agrupada, debe realizar la recuperación a nivel de base de datos.
Lee esto: Cómo recuperar una base de datos en SQL Server desde un archivo .Bak, paso a paso
Método 2 – Utilizar software de reparación de bases de datos SQL
La otra manera de lidiar con la corrupción de clúster de base de datos SQL es utilizar el software de reparación de base de datos SQL, que es capaz de reparar archivos de base de datos Microsoft SQL Server (MDF) corruptos o dañados de forma segura, fiable y con éxito. El uso de software hace que el proceso sea rápido y elimina la intervención manual. También es la mejor alternativa si no dispone de una copia de seguridad.
El camino a seguir – Stellar Repair for MS SQL
Stellar Repair for MS SQL soluciona fácilmente el problema del índice de clúster. Es una aplicación fácil de usar y proporciona varias ventajas además de reparar los archivos MDF de SQL Server dañados. Sus capacidades adicionales son las siguientes:
- Repara archivos MDF y NDF dañados
- Recupera tablas, índices, desencadenadores, reglas, claves y valores por defecto.
- Recuperación de registros borrados
- Busca y restaura objetos específicos de la base de datos
- Guarda los archivos reparados en los formatos MDF (nueva base de datos MS SQL o base de datos MS SQL activa), XLS, CSV y HTML.
- Compatible con MS SQL Server 2019, 2017, 2016 y versiones inferiores.