首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到SQL事务日志所使用的空间?

问如何找到SQL事务日志所使用的空间?
EN

Server Fault用户
提问于 2009-06-24 03:05:58
回答 5查看 26K关注 0票数 5

Server sp_spaceused存储过程对于查找数据库大小、未分配空间等非常有用。但是(据我所知),它没有报告事务日志的信息(查看中的数据库属性也没有为事务日志提供这些信息)。

虽然我可以通过查看.ldf文件轻松地找到事务日志所使用的物理空间,但如何才能找到使用了多少日志文件以及有多少未使用呢?

EN

回答 5

Server Fault用户

回答已采纳

发布于 2009-06-24 03:09:18

在我提交问题后找到答案:)

看起来dbcc sqlperf(logspace)和dbcc loginfo是我的朋友。

http://www.mssqltips.com/tip.asp?tip=1225

票数 5
EN

Server Fault用户

发布于 2012-11-21 04:18:24

代码语言:javascript
复制
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
EN

Server Fault用户

发布于 2009-06-24 08:06:46

另一种方法-在中执行以下命令:

  • 右击数据库
  • 任务
  • 收缩
  • 文件

并选择File = Log,您不仅会看到文件大小和可用可用空间的%。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/30735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档