日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

查看数据库、表、索引的物理存储情况

發(fā)布時間:2025/3/21 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 查看数据库、表、索引的物理存储情况 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在管理、維護數(shù)據(jù)庫時,經(jīng)常需要查看數(shù)據(jù)庫文件、日志文件所占用的磁盤空間,以及磁盤還剩下的磁盤空間,你可以通過下面幾種方面 查看數(shù)據(jù)庫文件詳細情況: 1: 是通過遠程連接(或VPN)連接到數(shù)據(jù)庫服務(wù)器,直接去查看。 2: 你連接到數(shù)據(jù)庫后,可以通過mssms管理器,選擇要查看的數(shù)據(jù)庫,單擊右鍵選擇屬性。然后選擇文件選項,如下圖所示。

?

3: 通過SQL命令、腳本查看。

?

??3.1: sys.database_files 視圖中保存著數(shù)據(jù)庫文件(數(shù)據(jù)文件、日志文件)等的詳細信息?

?SELECT?*?FROM?sys.database_files

--通過下面命令,查看系統(tǒng)各磁盤可使用空間。

EXEC?master..xp_fixeddrives

?

?

當然你也可以用下面腳本只查看數(shù)據(jù)文件,日志文件大小。?

?

代碼
SELECT??SUM(SIZE)?*?8.0?/?1024???AS?[FileSize(MB)]?,????????
????????
CASE?type
??????????
WHEN?0?THEN?'DataBaseFileSize'
??????????
WHEN?1?THEN?'DataBaseLogSzie'
????????
END?AS?Type
FROM????sys.database_files
GROUP?BY?type

?

?

?不過在刪除或重新生成大型索引時,或者在刪除或截斷大型表時,數(shù)據(jù)引擎將延遲實際頁釋放以及關(guān)聯(lián)鎖,直至事物提交完畢為止。延遲的刪除操作不會立即釋放已分配的空間。因此,在刪除或截斷大型對象后,立即查詢sys.database_files得到的數(shù)據(jù)可能沒有反應(yīng)實際可以用的磁盤空間。(具體可以看看MSDN)。

?

3.2 ?使用系統(tǒng)存儲過程SP_HELPDB?

?

EXEC?SP_HELPDB?'MyAssistant'?

?

?

?3.3 系統(tǒng)存儲過程SP_SPACEUSED:

?SP_SPACEUSED它顯示行數(shù)、保留的磁盤空間以及當前數(shù)據(jù)庫中的表、索引視圖或 SQL Server 2005 Service Broker隊列所使用的磁盤空間,或顯示由整個數(shù)據(jù)庫保留和使用的磁盤空間

EXEC?SP_SPACEUSED

?

?

?

有時候你是不是想看看數(shù)據(jù)庫里面的表、索引使用的磁盤空間情況,那么也有下面幾種方法供你參考。

1:選擇你要查看的表單擊右鍵,選擇屬性,你就可以看到表、索引空間使用情況。?

2:還是使用系統(tǒng)存儲過程SP_SPACEUSED

EXEC?SP_SPACEUSED?'bto_back_user'

?

3:通過系統(tǒng)視圖sysindexes來計算表以及它的索引所占的磁盤空間等情況,下表是它包含的字段詳細說明

列名 數(shù)據(jù)類型 說明

name

sysname

列名或過程參數(shù)的名稱。

id

int

此列所屬表的對象 ID,或者與此參數(shù)關(guān)聯(lián)的存儲過程的 ID。

xtype

tinyint

sys.types 中的物理存儲類型。

typestat

tinyint

僅限內(nèi)部使用。

xusertype

smallint

擴展的用戶定義數(shù)據(jù)類型的 ID。如果數(shù)據(jù)類型數(shù)超過 32767,則會發(fā)生溢出或返回 NULL。有關(guān)詳細信息,請參閱查詢 SQL Server 系統(tǒng)目錄。

length

smallint

sys.types 中的最大物理存儲長度。

xprec

tinyint

僅限內(nèi)部使用。

xscale

tinyint

僅限內(nèi)部使用。

colid

smallint

列 ID 或參數(shù) ID。

xoffset

smallint

僅限內(nèi)部使用。

bitpos

tinyint

僅限內(nèi)部使用。

reserved

tinyint

僅限內(nèi)部使用。

colstat

smallint

僅限內(nèi)部使用。

cdefault

int

此列的默認值的 ID。

domain

int

此列的規(guī)則或 CHECK 約束的 ID。

number

smallint

過程分組時的子過程號。

0 = 非過程項

colorder

smallint

僅限內(nèi)部使用。

autoval

varbinary(8000)

僅限內(nèi)部使用。

offset

smallint

此列所在行的偏移量。

collationid

int

列的排序規(guī)則的 ID。對于非字符列,此值為 NULL。

status

tinyint

用于說明列或參數(shù)的屬性的位圖:

0x08 = 列允許空值。

0x10 = 添加 varchar 或 varbinary 列時,執(zhí)行 ANSI 填充。保留 varchar 列的尾隨空格以及 varbinary 列的尾隨零。

0x40 = 參數(shù)為 OUTPUT 參數(shù)。

0x80 = 列為標識列。

type

tinyint

sys.types 中的物理存儲類型。

usertype

smallint

sys.types 中的用戶定義數(shù)據(jù)類型的 ID。如果數(shù)據(jù)類型數(shù)超過 32767,則會發(fā)生溢出或返回 NULL。有關(guān)詳細信息,請參閱查詢 SQL Server 系統(tǒng)目錄。

printfmt

varchar(255)

僅限內(nèi)部使用。

prec

smallint

此列的精度級別。

-1 = xml 或大值類型。

scale

int

此列的小數(shù)位數(shù)。

NULL = 數(shù)據(jù)類型不是數(shù)值。

iscomputed

int

指示列是否為計算列的標志:

0 = 非計算列。

1 = 計算列。

isoutparam

int

指示過程參數(shù)是否為輸出參數(shù):

1 = True

0 = False

isnullable

int

指示列是否允許空值:

1 = True

0 = False

collation

sysname

列的排序規(guī)則的名稱。如果不是基于字符的列,則為 NULL。

代碼 SELECT??OBJECT_NAME(id)?AS?TableName?,
????????rowcnt??
AS?ROWS,
????????reserved?
*?8.0?AS?Reserved?,
????????dpages?
*?8.0?AS?USED?,
????????(used?
-?dpages)*?8.0??AS?index_size,
????????(?reserved?
-?used?)?*?8.0?AS?Unused?
FROM????sysindexes
WHERE???indid?=?1
????????
AND?OBJECT_NAME(id)?=?'users'
ORDER?BY?reserved?DESC

EXEC?SP_SPACEUSED?'users'

?

?

對比看看兩者下圖的執(zhí)行結(jié)果吧

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/kerrycode/archive/2010/09/13/1824481.html

總結(jié)

以上是生活随笔為你收集整理的查看数据库、表、索引的物理存储情况的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。