我手动调整了mdf/ndf文件的大小,以避免SQL Server数据库上的自动增长操作。由于文件更大,磁盘分区上的空闲空间很小,系统管理员不断提醒我,我的空间快用完了。
因为我调整了它们的大小,所以在数据文件中有很多空闲空间,但是人们不会注意到它在查看文件大小/磁盘空闲空间。
如何监视数据文件的实际%使用情况?我更喜欢使用perfmon计数器。我猜想,当文件真正耗尽空间时,Server将无法分配足够的空间并将崩溃。
发布于 2015-04-09 13:40:05
当您可以从简单的查询中获得性能计数器时,不确定为什么要为此使用性能计数器。事实上,虽然您可以从性能计数器(Log File(s) Size (KB) / Log File(s) Used Size (KB))获得有关日志文件的信息,但是在数据文件中使用多少空间没有这样的计数器。
;WITH f AS
(
SELECT name, size = size/128.0 FROM sys.database_files
),
s AS
(
SELECT name, size, free = size-CONVERT(INT,FILEPROPERTY(name,'SpaceUsed'))/128.0
FROM f
)
SELECT name, size, free, percent_free = free * 100.0 / size
FROM s;发布于 2015-06-08 09:35:53
仅仅是在Aaron和Kin的答案的基础上,您可以使用perf计数器来完成,但是可以使用用户可设置计数器之一。
我会:
如果您想得到适当的通知:
注意事项如下:
但它们可以在Perfmon或其他类似工具中使用。
发布于 2016-10-13 14:27:56
此外,还有一个监视数据文件大小的简单警报设置:

附加的“低日志空间警报”将监视事务日志文件的空闲空间(自动增长已关闭):

https://dba.stackexchange.com/questions/97412
复制相似问题