Como posso encontrar o espaço usado por um log de transações SQL?

5

O procedimento armazenado sp_spaceused do SQL Server é útil para descobrir um tamanho de banco de dados, espaço não alocado, etc. No entanto (até onde posso dizer), ele não relata essas informações para o log de transações O SQL Server Management Studio também não fornece essas informações para logs de transação).

Embora eu possa encontrar facilmente o espaço físico usado por um log de transações, observando o arquivo .ldf, como posso descobrir quanto do arquivo de log é usado e quanto não é usado?

    
por Sean Earp 24.06.2009 / 05:05

5 respostas

5

Encontrei a resposta logo depois de enviar a pergunta:)

Parece que o dbcc sqlperf (espaço de logs) e dbcc loginfo são meus amigos.

link

    
por 24.06.2009 / 05:09
2
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 
    
por 21.11.2012 / 05:18
1

Outra maneira - execute no MS SQL Management Studio o seguinte comando:

  • Clique com o botão direito no banco de dados
  • Tarefas
  • Encolher
  • Arquivos

e selecione Tipo de arquivo = Log. Você não verá apenas o tamanho do arquivo e% do espaço livre disponível.

    
por 24.06.2009 / 10:06
0

Para uma abordagem mais GUI, o SQL Management Studio pode criar um espaço em disco (entre outros) para um banco de dados (clique com o botão direito no nó do banco de dados no gerenciador de objetos, selecione relatórios).

Este relatório também mostra informações sobre redimensionamentos recentes de arquivos.

    
por 24.06.2009 / 09:43
0

Outra maneira - inicie o perfmon e confira os seguintes contadores:

  • SQLServer: arquivo (s) de registro de bancos de dados Tamanho (KB)
  • SQLServer: arquivo (s) de registro de bancos de dados usado Tamanho (KB)
  • SQLServer: log de porcentagem usado

Estes valores são atualizados em tempo real.

    
por 24.06.2009 / 14:42