建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 数据库 > 数据库综合 >

数据库剩余空间计算

时间:2011-01-18 12:41来源: 作者: 点击:
数据库管理员要经常留意数据库和数据库文件内的空闲空间。自动增长功能作为最后一种手段是很好的,但是主动管理数据库文件是一种更好的方法。如果在文件中有很多的空闲空间,那么这些信息也可以在需要时用来压缩文件。 这里有几点需要提示: (1):随着数据库的不断填充,它

数据库管理员要经常留意数据库和数据库文件内的空闲空间。自动增长功能作为最后一种手段是很好的,但是主动管理数据库文件是一种更好的方法。如果在文件中有很多的空闲空间,那么这些信息也可以在需要时用来压缩文件。
这里有几点需要提示:
(1):随着数据库的不断填充,它的空间也在不断的增长。
(2):数据库自动增长时,不会需要多少增多少,一般情况会留出额外的空间

(3):如果数据被删除了,则不会自动将空间释放,占用的空间也会一直保留在数据文件中
有几种方法可以查询可用空间
方法一:
use db_sunrise

go

sp_spaceused

 

/*

database_name database_size      unallocated space

---------------------------------------------------------

db_Sunrise     1410.50 MB         376.93 MB

 

reserved           data               index_size         unused

------------------ ------------------ ------------------

986120 KB          740096 KB          236216 KB          9808 KB

*/

go

sp_spaceused   @updateusage = 'TRUE '
sp_spaceused   @updateusage = 'TRUE '

/*

database_name database_size      unallocated space

---------------------------------------------------

db_Sunrise 1410.50 MB 377.05 MB

reserved           data               index_size         unused

------------------ ------------------ ------------------

986056 KB          740096 KB          236024 KB          9936 KB

*/方法二:
DBCC SQLPERF

这个命令会为你提供每个数据库中日志文件的输出结果。这个命令也会为你提供累计信息,因此如果你有多个日志文件,那么它会提供给你每个数据库所有日志文件的总空闲空间。
DBCC SQLPERF(logspace)

/*

Database Name  Log Size (MB) Log Space Used (%) Status

------------------------------------------------------

db_Sunrise 70.55469      96.74316           0

db_Kcgl    1030.992      99.3326            0

 

*/

方法三:FILEPROPERTY

另一个选项是使用FILEPROPERTY函数的SpaceUsed属性,它将告诉我们使用了多少空间,然后我们可以基于当前的大小来计算可用空间
SELECT DB_NAME() AS DbName,

       name AS FileName,

       size/128.0 AS CurrentSizeMB,

       size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0

               AS FreeSpaceMB

FROM sys.database_files;

/*

DbName    FileName       CurrentSizeMB       FreeSpaceMB

--------------------------------------------------------

db_Sunrise   db_Sunrise      976.375000   281.312500

db_Sunrise   db_Sunrise_log  70.562500    2.289063

db_Sunrise   db_Sunrise_1    363.562500   94.687500

*/

 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片