Sql-Server
如何檢查我是否達到了 Express Edition 的大小限制?
我很迷惑。AFAIK SQL Server 2005 Express 的數據庫 數據大小限制為 4GB。但是我有以下結果
sp_spaceused
:
- 如何檢查我的數據庫是否達到大小限制?
- 未分配的空間是
space left
直到我達到限制嗎?- 我還剩多少空間?
- 是否
index_size
計入限額?
這是一個我無恥地從這裡撕下來的好腳本:
use [Insert DB Name] select a.FILEID, [FILE_SIZE_MB] = convert(decimal(12,2),round(a.size/128.000,2)), [SPACE_USED_MB] = convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)), [FREE_SPACE_MB] = convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) , NAME = left(a.NAME,15), FILENAME = left(a.FILENAME,30) from dbo.sysfiles a
這很好,因為它將為您提供每個 DB 文件中的可用空間(您可能有多個文件,並且可能有人將其設置為在每個文件中放置一些對象)以及可用大小。
例如,您有一個 4GB 的數據文件,其中有 3GB 的可用空間。也許您有 1 個沒有大量數據的 MDF,但有一個包含大量數據的 NDF。此查詢將告訴您每個文件中的可用大小以及該文件分配到的 DB。請記住將每個數據庫的所有“SPACE_USED_MB”相加以獲得總大小。
祝你好運!
編輯: 刪除了一個不受支持且有問題的命令,我認為我可以在此處發布此查詢。:(
數據庫的大小就是文件的大小。查看數據文件的實際大小(事務日誌不計算在內)。是的索引計數。如果您的空間不足,請考慮升級到 SQL 2012 Express,因為這會將大小限制增加到 10 Gig。