我想檢查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) - 投票移動。 –