Comment corriger un mauvais calcul de l'espace libre du journal de transaction

1

Comment corriger un mauvais calcul de l'espace libre du journal de transaction  ?

 

Symptomes :

1> sp_spaceused syslogs
2> go
 name            total_pages     free_pages      used_pages      reserved_pages
 --------------- --------------- --------------- --------------- ---------------
 syslogs         17920000        23365587        -5447337        1750

 Apparition de valeur négative dans used_pages. Cela correspond à un bug SYBASE

Pour info, voici la requête qui permet de calculer l'espace alloué,libre, occuppé du journale de transaction :

 select distinct convert(int,lct_admin('logsegment_freepages',db_id('msbdb_sumotc'))-lct_admin('reserved_for_rollbacks',db_id('msbdb_sumotc')))*(@@maxpagesize/1024.0/1024.0)

 

Methode 1


Methode 2

 

 

La méthode 1 est préférable car supportée.