Marcare le transazioni nei database di Team Foundation Server

Come sappiamo, nei Team Foundation Server PowerTools per la versione 2010 e built-in nella versione 2012 abbiamo una funzionalità di backup e restore aggiunta all’Administration console per…fare i backup Smile

Ma non è sempre possibile: in alcune organizzazioni questo tipo di tool non è permesso, e quindi abbiamo da seguire le vecchie procedure documentate in MSDN.

La procedura è completamente manuale, da ripetere per ogni database e prona ad errori: decisamente tediosa, considerando quello a cui siamo abituati.

Per minimizzare la possibilità di errori, si può utilizzare un qualcosa di estremamente utile: tracciare le transazioni nei database di Team Foundation Server con una tabella apposita

E’ molto semplice: in ogni database va creata una tabella come questa:

   1:  Use TFS_Configuration 
   2:  Create Table Tbl_TransactionLogMark 
   3:  ( 
   4:   logmark int 
   5:  ) 
   6:  GO 
   7:  Insert into Tbl_TransactionLogMark (logmark) Values (1) 
   8:  GO 

Poi creiamo una stored procedure che marca i

   1:  Create PROCEDURE sp_SetTransactionLogMark 
   2:  @name nvarchar (128) 
   3:  AS 
   4:  BEGIN TRANSACTION @name WITH MARK 
   5:  UPDATE TFS_Configuration.dbo.Tbl_TransactionLogMark SET logmark = 1 
   6:  COMMIT TRANSACTION 
   7:  GO 

Manca solo la scelta del mark. Utilizziamo “TFSMark” come dice MSDN Smile.

   1:  EXEC sp_SetTransactionLogMarkAll 'TFSMark'
   2:  GO

In questo modo si può ottenere un log filtrato delle transazioni, da utilizzare in casi di troubleshooting.

Non è nulla di nuovo alla fine, ma essendo nascostissimo in MSDN secondo me meritava una menzione Smile

Comments are closed.