El Bruno

Blog dedicado a las experiencias del desarrollo con tecnologías Microsoft.
[TFS] Shrinking TFS Database Logs

Buenas,

desde hace unos días un servidorcito de Team Foundation Server estaba dando algunos problemas y lanzando Warnings que nadie acusaba.

Como dice el dicho "en casa de herrero, cuchillo de palo", y es por eso que cuando llegué al server me encontré con casi nada de espacio en el disco ya que los logs de las bases de datos de Team Foundation Server 2005 estaban por las nubes.

 

Las tareas de mantenimiento de las bases de datos de TFS, no funcionaban correctamente desde hace tiempo y por eso este problema. Parte de la responsabilidad era mía, y como dijo el negro Fontanarrosa: "yo no soy vago, sólo un poco tímido para el esfuerzo"; y además de tímido con menos memoria que un pez globo. No recordaba el par de líneas para "truncar" el log y así ahorrar un poco de espacio.

Por suerte, el amigo Jesus, acudio a mi rescate con

1 -- Database_XXX 2 BACKUP LOG Database_XXX WITH TRUNCATE_ONLY 3 DBCC SHRINKDATABASE (Database_XXX)

donde con el comando BACKUP LOG realizamos una copia de seguridad del log y además especificamos que no queremos un resguardo del Log con TRUNCATE_ONLY. (ojo, que esto no es recomendado por nuestros amigos de Microsoft ya que se pierde el histórico !!!). Finalmente, utilizamos BBCC SHRINKDATABASE para reducir el tamaño de los archivos de datos y de log de la base de datos especificada.

A partir del ejemplo anterior, el script completo para procesar los datos de los logs de las bases de datos de Team Foundation Server 2005, sería el siguiente:

1 -- STS_Config_TFS 2 BACKUP LOG STS_Config_TFS WITH TRUNCATE_ONLY 3 DBCC SHRINKDATABASE (STS_Config_TFS) 4 -- STS_Content_TFS 5 BACKUP LOG STS_Content_TFS WITH TRUNCATE_ONLY 6 DBCC SHRINKDATABASE (STS_Content_TFS) 7 -- TFSActivityLogging 8 BACKUP LOG TFSActivityLogging WITH TRUNCATE_ONLY 9 DBCC SHRINKDATABASE (TFSActivityLogging) 10 -- TFSBuild 11 BACKUP LOG TFSBuild WITH TRUNCATE_ONLY 12 DBCC SHRINKDATABASE (TFSBuild) 13 -- TFSIntegration 14 BACKUP LOG TFSIntegration WITH TRUNCATE_ONLY 15 DBCC SHRINKDATABASE (TFSIntegration) 16 -- TFSVersionControl 17 BACKUP LOG TFSVersionControl WITH TRUNCATE_ONLY 18 DBCC SHRINKDATABASE (TFSVersionControl) 19 -- TFSWareHouse 20 BACKUP LOG TFSWareHouse WITH TRUNCATE_ONLY 21 DBCC SHRINKDATABASE (TFSWareHouse) 22 -- TFSWorkItemTracking 23 BACKUP LOG TFSWorkItemTracking WITH TRUNCATE_ONLY 24 DBCC SHRINKDATABASE (TFSWorkItemTracking) 25 -- TFSWorkItemTrackingAttachments 26 BACKUP LOG TFSWorkItemTrackingAttachments WITH TRUNCATE_ONLY 27 DBCC SHRINKDATABASE (TFSWorkItemTrackingAttachments) 28

Obviamente, con un poco de trabajo se puede realizar un JOB super poderoso, o un script que lo haga automáticamente recorriendo las DBs de todo el server, etc. Pero a mi, este post me sirve de recuerdo de la sentencia SQL y de advertencia para revisar los warnings.

Descarga del Script SQL.

 

Saludos @ La Finca

El Bruno

 

Share this post :

Published lunes, 21 de enero de 2008 12:57 by elbruno

Comments

# [SQL] Shrinking ALL DataBases@ sábado, 26 de enero de 2008 19:36

Buenas hace unos días escribí un pequeño post donde comentaba como "limpiar un poco" las bases

El Bruno

# [SQL] Shrinking ALL DataBases@ sábado, 26 de enero de 2008 19:36

Buenas hace unos días escribí un pequeño post donde comentaba como "limpiar un poco" las bases

El Bruno

# [SQL] Shrinking ALL DataBases@ sábado, 26 de enero de 2008 19:37

Buenas hace unos días escribí un pequeño post donde comentaba como "limpiar un poco" las bases de datos

El Bruno