Necesito vaciar un archivo LDF antes de enviarlo a un colega. ¿Cómo fuerzo a SQL Server a truncar el registro?
Necesito vaciar un archivo LDF antes de enviarlo a un colega. ¿Cómo fuerzo a SQL Server a truncar el registro?
Respuestas:
si no recuerdo mal ... en el analizador de consultas o equivalente:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
WITH TRUNCATE_ONLY
.
BACKUP LOG DatabaseNameHere TO DISK='NUL:'
.
En estudio de gestión:
Properties
, luego Options
.Tasks
-> Shrink
->Files
Alternativamente, el SQL para hacerlo:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
use mydatabase
antes de ejecutardbcc shrinkfile
Para SQL Server 2008, el comando es:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
ALTER DATABASE ExampleDB SET RECOVERY FULL
Esto redujo mi archivo de registro de 14 GB a 1 MB.
Para SQL 2008, puede hacer una copia de seguridad del registro en el nul
dispositivo:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
Y luego use DBCC SHRINKFILE
para truncar el archivo de registro.
Otra opción es separar la base de datos a través de Management Studio. Luego, simplemente elimine el archivo de registro o cámbiele el nombre y elimínelo más tarde.
De vuelta en Management Studio, adjunte la base de datos nuevamente. En la ventana adjunta, elimine el archivo de registro de la lista de archivos.
La base de datos adjunta y crea un nuevo archivo de registro vacío. Después de comprobar que todo está bien, puede eliminar el archivo de registro renombrado.
Probablemente no deberías usar esto para bases de datos de producción.