我想检查SQL Server如何使用磁盘空间来存储数据。我最近刚刚放下了一张大约100GB的表格,而且硬盘仍然保持不变(在掉落大小为30GB之前,掉落操作之后,尺寸应该会达到130GB)。在从网上检查后,注意到SQL Server不会自动处理它,为了让SQL Server发布硬盘块,需要收缩操作。如我错了请纠正我。SQL Server 2014如何使用磁盘空间来存储数据
现在我的问题是后我放弃了30GB的数据,SQL Server将逆转以备将来使用,这意味着SQL Server将使用该保留块的任何新的数据,而不是从OS请求块。如我错了请纠正我。
这里的信息,我从数据库中获取,如果我理解正确的话,SQL Server将保留约308GB的该数据文件,而且我们已经使用了大约196GB。因此,任何新的数据来到这个数据文件,SQL Server将使用保留的块,直到它达到308GB的大小,然后它从操作系统请求额外的块。我对吗 ?
;with db_file_cte as
(
select
name,
type_desc,
physical_name,
size_mb =
convert(decimal(11, 2), size * 8.0/1024),
space_used_mb =
convert(decimal(11, 2), fileproperty(name, 'spaceused') * 8.0/1024)
from sys.database_files
) select
name,
type_desc,
physical_name,
size_mb,
space_used_mb,
space_used_percent =
case size_mb
when 0 then 0
else convert(decimal(5, 2), space_used_mb/size_mb * 100)
end
from db_file_cte;
这真的没有什么关系** **编程(其中*这个网站是所有关于*),但与数据库管理 - 所以这里是题外话,属于在[dba.stackexchange.com] (http://dba.stackexchange.com) - 投票移动。 –