我们如何识别日志文件中的已用空间?

时间:2016-10-03 13:33:36

标签: sql sql-server

SQL Server中是否有任何方法可以使用SQL查询识别日志文件中的已用空间?

3 个答案:

答案 0 :(得分:1)

使用dbcc命令

  dbcc Sqlperf('logspace')

在我的本地计算机上,它提供了以下内容..

Database Name      Log Size (MB)    Log Space Used (%)  Status
master                1.242188        50.9434             0
tempdb                0.7421875       63.81579             0
model                 0.4921875       81.74603             0
msdb                  1.992188        33.92157             0

如果您想知道每个日志文件的VLF计数和每个VLF的状态(日志的活动部分或非活动部分),您也可以在下面使用,但这是特定于数据库的

Dbcc loginfo

答案 1 :(得分:1)

Four Ways to Find Free Space In SQL Server Databaseeasy to find on Google ...)

user@host:/tmp$ cat TEST.csv 
A|101
2|202-

user@host:/tmp$ tr '|' ' ' <  TEST.csv  | awk '{for (i=1; i<=NF; i++)  if ($i ~ /-$/) $i = "-"substr($i,1,length($i)-1); print }' 
A 101
2 -202

sp_spaceused

DBCC SQLPERF(logspace)

DBCC SHRINKFILE(logfile_here)

答案 2 :(得分:0)

您可以尝试使用

select size, * from sys.database_files