2012-02-10 14 views
14

En mi unidad C: local, tengo un archivo ldf para una base de datos alojada en uno de nuestros servidores. Tengo una copia local de una de las bases de datos que es 1 gb y ldf (archivo de registro) de esa base de datos que es de 16 gb. Está consumiendo una gran cantidad de mi espacio local en mi disco duro. Me gustaría truncar ese archivo. Mucho de lo que leo en línea es no, pero parece que están hablando de archivos en el servidor en los que está la base de datos. Ese no es el caso aquí, está en mi máquina local.Truncar el archivo de registro de transacciones de SQL Server

La ubicación del archivo en mi máquina es:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA 

¿Cómo es que tengo una copia de ese archivo de registro a nivel local y también que la base de datos a nivel local?

¿Cómo podría hacer para truncar este archivo?

Gracias!

Respuesta

27

Vaya al panel Explorador de objetos en SSMS y haga clic con el botón derecho en la base de datos en cuestión. Elija tareas -> encogimiento -> archivos. Cambie la opción de tipo de archivo a Log, haga clic en la opción "Reorganizar páginas antes de liberar el espacio no utilizado" y establezca el valor en 1 MB. Presiona OK.

Si esto no funciona, verifique si su base de datos está configurada con un modelo de recuperación de base de datos completo. Haga clic derecho en la base de datos y vaya a propiedades. Elija Opciones y marque la opción Recuperar modelo. Establecer como simple (si puede !!!), luego reducir los registros.

+0

Eso está encogiendo los archivos en el servidor real en el que está la base de datos, no en mi disco local. – Loganj99

+1

Déjame asegurarme de que estoy entendiendo esto. Usted tiene una copia local de una base de datos ubicada en otro lugar. ¿Su copia local está conectada a una instancia local de SQL Server? –

+0

Según tengo entendido. Soy nuevo en el servidor sql, así que no estoy seguro de por qué está realmente allí. Está bajo el directorio que enumeré en mi publicación original, en mi máquina local. También está en el servidor. No estoy seguro si son iguales o cuál es el trato. – Loganj99

1

La otra opción que puede probar es para usar con TRUNCATE_ONLY:

BACKUP LOG databasename WITH TRUNCATE_ONLY 
DBCC SHRINKFILE ( adventureworks_Log, 1) 

pero no intente esta opción en el entorno real, la opción mucho mejor es configurar la base de datos de recuperación simple. vea el siguiente comando para hacer esto:

ALTER DATABASE mydatabase SET RECOVERY SIMPLE 
DBCC SHRINKFILE (adventureworks_Log, 1) 
Cuestiones relacionadas