Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
info@nucanjosistemas.es
Seleccionar página
a
Anteriormente, vimos que las bases de datos de SQL Server son fiables, pero en ocasiones
pueden romperse o corromperse, de ahí este post.
Este es un ejemplo real que me ha pasado, la base de datos está en estado RECOVERY
PENDING, debido a que hemos intentado restaurar un backup, y el backup está también
dañado.
1.- Al restaurar el backup, al llegar al 100% nos da un error 9100, avisando que es posible
que haya algún índice corrupto y nos dice que debemos pasar un DBCC CHECKDB para ver
y reparar los daños.
2.- Al intentar acceder desde Management Studio a la base de datos que acabamos de
restaurar y que nos ha dado error, al desplegarla sale un mensaje diciendo que la base de
datos no está accesible.
Si nos vamos a las propiedades de la base de datos, vemos que el campo Estado está vacío.
La manera de verlo mediante una consulta de SQL Server sobre la base de datos master.
USE master
GO
SELECT * FROM sys.databases
http://www.nucanjosistemas.es/reparar-base-de-datos-sql-server-dbcc-checkdb/ 1/5
17/4/2018 Reparar base de datos SQL Server con DBCC CHECKDB - NuCanJo Sistemas
Al ejecutar la consulta anterior, salen todas las bases de datos que tiene la instancia de SQL.
Revisamos la línea donde está la base de datos con problema, y en el
campo state_desc vemos el estado de la base de datos dañada, en este caso RECOVERY
PENDING.
3.- Antes de poder hacer nada con la base de datos, ya que no tenemos acceso, para poder
sacar los datos tenemos que cambiar en las Opciones de la base de datos, en Restringir
Acceso, poner la base de datos como SINGLE_USER.
4.- A continuación la cambiamos al modo de EMERGENCY. Recordemos que este modo
permite a usuarios del grupo sysadmin, reparar la base de datos, extraer información,
generar scripts, etc.
En este ejemplo, tenía alguna tabla con errores que reparó automáticamente.
6.- Por último, una vez reparados todos los errores, pondremos la base de datos en estado
MULTI_USER, y la pondremos en producción para que los usuarios puedan utilizarla sin
problema.
Aquí dejo el script completo o las consultas que hay que ejecutar, para reparar una base de
datos dañada o corrupta.
***********************************************
*************** Script completo ***************
–Poner la base de datos BBDD en modo de usuario único
ALTER DATABASE BBDD SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
BEGIN TRANSACTION;
http://www.nucanjosistemas.es/reparar-base-de-datos-sql-server-dbcc-checkdb/ 2/5
17/4/2018 Reparar base de datos SQL Server con DBCC CHECKDB - NuCanJo Sistemas
Información de Microsoft:
Campos de la tabla sys.databases
6 Comentarios
Ones el 07/02/2017 a las 5:20 pm
Buenas tardes.
Mi problemas es un servidor que se ha quedado ko, no tienen backup
(bbdd.bak) y al tratar de adjuntar la bbdd me da error. He creado una bbdd
con el mismo nombre, he parado el servicio sql , he renombrado copiado el
mdf que tenia y consigo tener la bbdd en el motor adjunta con un ldf nuevo.
Problema que realizo todos los pasos y no consigo que corriga
correctamente los datos, es más he intentado realizar un “REPAIR_REBUILD”
y me indica que la bbdd esta en uso y no puedo ejecutar la acción.
Que podria hacer o como podria solucionar la papeleta ¿?.
Un saludo y gracias por su atención.
http://www.nucanjosistemas.es/reparar-base-de-datos-sql-server-dbcc-checkdb/ 3/5
17/4/2018 Reparar base de datos SQL Server con DBCC CHECKDB - NuCanJo Sistemas
Hosting Wordpress
Webs Amigas
El Huertecillo Natural
No Como Huevo
Enlaces Útiles
Antivirus Online Gratis
DNS Report
http://www.nucanjosistemas.es/reparar-base-de-datos-sql-server-dbcc-checkdb/ 4/5
17/4/2018 Reparar base de datos SQL Server con DBCC CHECKDB - NuCanJo Sistemas
Listas Negras
http://www.nucanjosistemas.es/reparar-base-de-datos-sql-server-dbcc-checkdb/ 5/5