Acerca de la reducción de los archivos de registro de templog

Sin querer descubrió que el archivo templog.ldf de la base de datos del sistema es muy grande, 500G de espacio en disco, templog.ldf ocupa 101G, el primer pensamiento en ese momento fue reducir y reconstruir el archivo de registro.

Método de visualización de registros uno: dbcc sqlperf (espacio de registro)

Método de visualización de registros dos:

nombre_base_de_datos SELECT (database_id Los) nombrebd, 
       type_desc, - datos o de registro 
       nombre, - la lógica nombre de archivo 
       physical_name, - la ruta física del archivo 
       state_desc, - el estado del archivo de 
       tamaño * 8,0 / 1024 como 'tamaño del archivo (MB)'         
desde sys.master_files 
donde type_desc = 'LOG'

Debido a que mi base de datos es la versión 2008 R2, lo primero que pensé en ese momento fue usar el método de procesamiento SQL 2005, truncar el registro de transacciones y descargar y cargar la base de datos.

Procesamiento SQL 2005

Método uno:

Uno: registro de respaldo tempdb sin registro (Nota: Truncar el registro no reduce el tamaño del archivo de registro físico, pero reduce el tamaño del archivo de registro lógico y libera espacio en disco para su reutilización)

Dos: dbcc shrinkdatabase (temp, 50%) (Nota: después de que la ejecución anterior sea exitosa, debe reducir la base de datos)

Método dos:

Descargue y cargue la base de datos:

Uno: ejecute sp_detach_db temp (Nota: desinstale la base de datos)

Dos: ejecute sp_attach_single_file_db temp, 'd: \ date \ templog.ldf' (Nota: cargue la base de datos)

En la versión 2008, los métodos anteriores no son aplicables. Hay muchas opiniones en Internet. Algunas respuestas dicen que la base de datos del sistema no permite la reducción, solo la ruta de almacenamiento alternativa. Originalmente estaba en la unidad D, y no hay otra unidad en la base de datos. También intenté reiniciar el servidor. El servidor no funciona, si hay otras letras de unidad, puede intentar de esta manera cambiar la ruta de almacenamiento

ALTER DATABASE tempdb
MODIFICAR ARCHIVO (NAME = tempdev, FILENAME = 'E: \ SQLData \ tempdb.mdf');

ALTER DATABASE tempdb
MODIFICAR ARCHIVO (NAME = templog, FILENAME = 'F: \ SQLLog \ templog.ldf');

Finalmente, en  la publicación en http://bbs.csdn.net/topics/390606782 , vi que el moderador ( no quiero crecer ) trató de responder la respuesta. El registro de 100G se redujo a 25G.

Usando el archivo de encogimiento DBCC (templog, 1024), por qué el encogimiento es 1024M, templog todavía es 25G, extraño, recuerdo que usé este método al principio, pero no tuvo éxito, los detalles aún se están estudiando, esperando que los dioses den consejos.

Para obtener una introducción más detallada a templog, consulte: https://technet.microsoft.com/zh-cn/library/ms176029.aspx y http://blog.csdn.net/dba_huangzj/article/details/7641534

 

 

 

 

 

 

 

Publicado 22 artículos originales · elogiado 7 · 100,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/qyx0714/article/details/60321814
Recomendado
Clasificación