¿Cuál es el comando para truncar un archivo de registro de SQL Server?
Necesito vaciar un archivo LDF antes de enviárselo a un colega. ¿Cómo fuerzo a SQL Server a truncar el registro?
Aceptado
En el estudio de gestión:
- No hagas esto en un entorno en vivo, pero para asegurarte de reducir tu base de datos de desarrollo tanto como puedas:
- Haga clic derecho en la base de datos, elija
Properties
y luegoOptions
. - Asegúrese de que el "Modelo de recuperación" esté configurado en "Simple", no en "Completo".
- Haga clic en Aceptar
- Haga clic derecho en la base de datos, elija
- Haga clic derecho en la base de datos nuevamente, elija
Tasks
->Shrink
->Files
- Cambie el tipo de archivo a "Registro"
- Haga clic en Aceptar.
Alternativamente, el SQL para hacerlo:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
Referencia: http://msdn.microsoft.com/en-us/library/ms189493.aspx
si no recuerdo mal... en analizador de consultas o equivalente:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
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.