SQL Server中是否有任何方法可以使用SQL查询识别日志文件中的已用空间?
答案 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 Database(easy 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