Sql-Server

如何檢查我是否達到了 Express Edition 的大小限制?

  • November 10, 2016

我很迷惑。AFAIK SQL Server 2005 Express 的數據庫 數據大小限制為 4GB。但是我有以下結果sp_spaceused

數據庫的實際大小是多少

  1. 如何檢查我的數據庫是否達到大小限制?
  2. 未分配的空間是space left直到我達到限制嗎?
  3. 我還剩多少空間?
  4. 是否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。

引用自:https://dba.stackexchange.com/questions/42104