Red de conocimiento informático - Aprendizaje de código fuente - Reparación de datos de base de datos

Reparación de datos de base de datos

1. Detenga el servicio SQL Server y haga una copia de seguridad del subdirectorio \data en el directorio de instalación de SQL Server

Dos archivos de la base de datos defectuosa y un archivo de datos hbposv6_branch_data.mdf,

p>

p>

Un hbposv6_branch_log.ldf (puede que no se llame así) y verifique si hay suficiente espacio en el disco

2 Inicie el servicio SQL Server (si ha estado Detenido), cree una nueva base de datos y asígnele el nombre

de la base de datos original.

3. Detenga SQL Server

4. Reemplace el archivo MDF de la base de datos anterior (hbposv6_branch_data.mdf) con el archivo MDF correspondiente de la nueva base de datos.

p>

Y elimine el archivo LDF (hbposv6_branch_log.ldg).

5. Reinicie el servicio SQL Server y luego ejecute el siguiente comando:

Use Master

go

sp_configure 'permitir actualizaciones. ', 1

reconfigurar con anulación

ir

comenzar tran

actualizar sysdatabases establecer estado = 32768 donde nombre = 'hbposv6_branch'

--Verifique que una fila esté actualizada antes de confirmar

commit tran

go

6. Detenga SQL y luego reinicie el servicio SQL Server. y luego ejecute el siguiente comando

(cambie la dirección de ruta del archivo de registro):

use master

go

DBCC TRACEON( 3604)

DBCC REBUILD_LOG

('hbposv6_branch',

'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')

--Aquí, ingrese la ruta de su base de datos

vaya

7. Detenga SQL y luego reinicie el servicio SQL Server, luego ejecute:

p>

usar master

ir

actualizar sysdatabases establecer estado = 8 donde nombre = 'hbposv6_branch'

ir

sp_configure 'permitir actualizaciones', 0

reconfigurar con override

go

8 Ejecute dbcc checkdb(db_name) para verificar la integridad de la base de datos

.

9. Repare la base de datos

: ejecute la siguiente instrucción en el analizador de consultas. Desconecte otras

todas las conexiones de la base de datos antes de la ejecución, preferiblemente desconecte el cable de red. >

-- Si no es el nombre de la base de datos, cambie la base de datos

--hbposv6_branch

-- a la base de datos a reparar

USE master

Go

--Modo de usuario único

EXEC sp_dboption 'hbposv6_branch', 'usuario único', 'TRUE'

ir

- - Verificación de la base de datos

DBCC CHECKDB ('hbposv6_branch')

Ir

--Si aparece un mensaje de texto rojo en el resultado devuelto, significa que hay un error en la base de datos Necesita reparación

--Reparación de base de datos

DBCC CHECKDB ('hbposv6_branch','repair_rebuild')

Ir

--Base de datos nuevamente Verifique, si no hay un mensaje de texto rojo en el resultado devuelto,

significa que la reparación fue exitosa;

DBCC CHECKDB ('hbposv6_branch')

Ir

--De lo contrario, significa que se necesita una reparación de nivel superior, intente cambiar 'repair_rebuild' de la declaración de reparación anterior a 'repair_allow_data_loss'; e inténtelo de nuevo,

verifique nuevamente después de la base de datos.

--Si todavía hay errores que no se han solucionado, envíenos esta información por mensaje de texto.

--Asegúrese de ejecutar la siguiente instrucción para volver al modo multiusuario. modo antes de salir

EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'

go

Nota: Reemplace dbname con el nombre real de la base de datos.