web-dev-qa-db-fra.com

Comment puis-je trouver l'espace utilisé par un journal de transaction SQL?

La procédure SQL Server SP_SpaceSuced stockée est utile pour déterminer une taille de la base de données, un espace non alloué, etc. (Pour autant que je sache, il ne signale pas ces informations pour le journal des transactions (et en regardant les propriétés de la base de données dans la gestion SQL Server. Studio ne fournit également pas cette information pour les journaux de transaction).

Bien que je puisse facilement trouver l'espace physique utilisé par un journal de transaction en regardant le fichier .ldf, comment puis-je savoir la quantité de fichier journal utilisé et quelle quantité est inutilisée?

5
Sean Earp
create table #dbsize 
(Dbname varchar(30),dbstatus varchar(20),Recovery_Model varchar(10) default ('NA'), file_Size_MB decimal(20,2)default (0),Space_Used_MB decimal(20,2)default (0),Free_Space_MB decimal(20,2) default (0)) 
go 

insert into #dbsize(Dbname,dbstatus,Recovery_Model,file_Size_MB,Space_Used_MB,Free_Space_MB) 
exec sp_msforeachdb 
'use [?]; 
  select DB_NAME() AS DbName, 
    CONVERT(varchar(20),DatabasePropertyEx(''?'',''Status'')) ,  
    CONVERT(varchar(20),DatabasePropertyEx(''?'',''Recovery'')),  
sum(size)/128.0 AS File_Size_MB, 
sum(CAST(FILEPROPERTY(name, ''SpaceUsed'') AS INT))/128.0 as Space_Used_MB, 
SUM( size)/128.0 - sum(CAST(FILEPROPERTY(name,''SpaceUsed'') AS INT))/128.0 AS Free_Space_MB  
from sys.database_files  where type=0 group by type' 





go 
select * from #dbsize 
2

Un autre moyen - effectuer dans MS SQL Management Studio la commande suivante:

  • Faites un clic droit sur la base de données
  • Tâches
  • Rétrécir
  • Des dossiers

et sélectionnez Type de fichier = Connexion Vous verrez non seulement la taille du fichier et% de l'espace libre disponible.

1
Bogdan_Ch

Autre moyen - Incendez Perfmon et consultez les compteurs suivants:

  • SQLSERVER: Taille de fichiers journaux de bases de données (KB)
  • SQLSERVER: Fichiers de journal (s) des bases de données (S) Taille d'utilisation (KB)
  • SQLSERVER: Pourcentage de journal utilisé

Ces valeurs mettent à jour en temps réel.

0
SuperCoolMoss