Hosting Knowledge Base

Como vaciar los Transaction Log de una base de datos SQL

ALTER DATABASE xavieruab3500cat3598_inedit SET RECOVERY SIMPLE
declare @log_File_Name varchar(200)
select @log_File_Name = name from sysfiles where filename like '%LDF'
declare @i int = FILE_IDEX ( @log_File_Name)
dbcc shrinkfile ( @i , 1)
ALTER DATABASE xavieruab3500cat3598_inedit SET RECOVERY FULL
Es posible que en alguna ocasión necesitemos vaciar los Transaction Log de una base de datos por la razón que sea. Es importante realizar un FULL BACKUP previo de la base de datos, ya que de lo contrario si deseamos restaurarla con otro tipo de copia, es muy posible que no funcione correctamente, ya que los Transaction Log se encargan de salvaguardar la coherencia de los datos y si no se restaura un FULL backup, es muy probable que haya problemas.

La query en cuestión para vaciar los Transaction Logs sería la siguiente:
ALTER DATABASE nombre_de_la_base_de_datos SET RECOVERY SIMPLE

declare @log_File_Name varchar(200)

select @log_File_Name = name from sysfiles where filename like '%LDF'

declare @i int = FILE_IDEX ( @log_File_Name)

dbcc shrinkfile ( @i , 1)

ALTER DATABASE nombre_de_la_base_de_datos SET RECOVERY FULL

Archivos adjuntos

No se han encontrado archivos adjuntos.

¿Cómo puntuaría esta respuesta?



Comentarios de los visitantes

  • SILICONTOWER, S.L.
  • ESB64611825
  • Rda.General Mitre 25 Bajos 2a
  • 08017 Barcelona