亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

3. SQL Server數據庫狀態監控

2024-08-31 00:55:26
字體:
來源:轉載
供稿:網友
3. SQL Server數據庫狀態監控 - 可用空間

數據庫用來存放數據,那么肯定需要存儲空間,所以對磁盤空間的監視自然就很有必要了。

. 磁盤可用空間

1. 操作系統命令或腳本、接口或工具

(1) DOS命令: fsutil volume diskfree

C:/windows/system32>fsutil volume diskfree C:

Total # of free bytes : 9789493248

Total # of bytes : 64424505344

Total # of avail free bytes : 9789493248

這里用到了fsutil,一個文件系統管理工具(file system utility),應該還有其他一些命令或者腳本也是可以的。

(2) WMI/WMIC: wmic logicaldisk

WMI是個Windows系統的管理接口,在WMIC出現之前,如果要利用WMI管理系統,必須使用一些專門的WMI應用,例如SMS,或者使用WMI的腳本編程API,或者使用象CIM Studio之類的工具。如果不熟悉C++之類的編程語言或VBScript之類的腳本語言,或者不掌握WMI名稱空間的基本知識,要用WMI管理系統是很困難的。WMIC改變了這種情況,它為WMI名稱空間提供了一個強大的、友好的命令行接口。

C:/windows/system32>wmic logicaldisk get caption,freespace,size

Caption FreeSpace Size

C: 9789071360 64424505344

D: 189013438464 255331397632

這里通過wmic的get命令獲取了logicaldisk 的幾個參數列。

(3) 性能監視器

LogicalDisk: %Free Space

LogicalDisk: Free Megabytes

總大小 = LogicalDisk: Free Megabytes/ LogicalDisk: %Free Space

性能監視器雖然用于現場診斷還是挺方便的,但實現自動化監控,并不太好用。

2. SQL 語句

(1) 擴展存儲過程xp_cmdshell (還是在調用操作系統命令)

DECLARE @Drive TINYINT,      @SQL VARCHAR(100)DECLARE @Drives TABLE(Drive CHAR(1),Info VARCHAR(80))SET @Drive = 97WHILE @Drive <= 122BEGIN    SET @SQL = 'EXEC XP_CMDSHELL ''fsutil volume diskfree ' + CHAR(@Drive) + ':'''    INSERT @Drives    (    Info    )    EXEC(@SQL)    UPDATE @Drives       SET Drive = CHAR(@Drive)     WHERE Drive IS NULL    SET @Drive = @Drive + 1ENDSELECT Drive,SUM(CASE WHEN Info LIKE 'Total # of bytes%' THEN CAST(REPLACE(SUBSTRING(Info, 32, 48), CHAR(13), '') AS BIGINT) ELSE CAST(0 AS BIGINT) END)/1024.0/1024/1024 AS TotalMBytes,SUM(CASE WHEN Info LIKE 'Total # of free bytes%' THEN CAST(REPLACE(SUBSTRING(Info, 32, 48), CHAR(13), '') AS BIGINT) ELSE CAST(0 AS BIGINT) END)/1024.0/1024/1024 AS FreeMBytes,SUM(CASE WHEN Info LIKE 'Total # of avail free bytes%' THEN CAST(REPLACE(SUBSTRING(Info, 32, 48), CHAR(13), '') AS BIGINT) ELSE CAST(0 AS BIGINT) END)/1024.0/1024/1024 AS AvailFreeMBytesFROM(SELECT Drive,       Info  FROM @Drives WHERE Info LIKE 'Total # of %') AS dGROUP BY DriveORDER BY Drive

xp_cmdshell可以執行操作系統命令行,這段腳本用fsutil volume diskfree命令對26個字母的盤符遍歷了一遍,不是很好,改用wmic會方便些,如下:

EXEC xp_cmdshell 'wmic logicaldisk get caption,freespace,size';

(2) 擴展存儲過程xp_fixeddrives

--exec xp_fixeddrivesIF object_id('tempdb..#drivefreespace') IS NOT NULL    DROP TABLE #drivefreespaceCREATE TABLE #drivefreespace(Drive CHAR(1), FreeMb bigint)INSERT #drivefreespace EXEC ('exec xp_fixeddrives')SELECT * FROM #drivefreespace

Drive

FreeMb

C

9316

D

180013

總算不依賴操作系統命令了,不過,這個存儲過程只能返回磁盤可用空間,沒有磁盤總空間。

(3) DMV/DMF: sys.dm_os_volume_stats

SELECT DISTINCT       @@SERVERNAME as [server]      ,volume_mount_point as drive      ,cast(available_bytes/ 1024.0 / 1024.0 / 1024.0 AS INT) as free_gb      ,cast(total_bytes / 1024.0 / 1024.0 / 1024.0 AS INT) as total_gbFROM sys.master_files AS fCROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id)ORDER BY @@SERVERNAME, volume_mount_point

server

drive

free_gb

total_gb

C:/

9

59

D:/

175

237

從SQL Server 2008 R2 SP1開始,有了這個很好用的DMF: sys.dm_os_volume_stats,彌補了之前xp_fixeddrives沒有磁盤總空間的不足。

不過,看它的參數就可以知道,沒被任何數據庫使用的磁盤,是查看不了的,所以xp_fixeddrives還有存在的必要。

. 數據庫可用空間

1. 文件可用空間查看

(1) 文件已用空間,當前大小(已分配空間),最大值,如下:

select @@SERVERNAME as server_name      ,DB_NAME() as database_name      ,case when data_space_id = 0 then 'LOG'            else FILEGROUP_NAME(data_space_id)             end as file_group      ,name as logical_name      ,physical_name      ,type_desc      ,FILEPROPERTY(name,'SpaceUsed')/128.0 as used_size_Mb      ,size/128.0 as allocated_size_mb       ,case when max_size = -1 then max_size             else max_size/128.0             end as max_size_Mb      ,growth      ,is_percent_growth from sys.database_fileswhere state_desc = 'ONLINE'

(2) 再算上磁盤的空閑空間,改動如下:

select @@SERVERNAME as server_name      ,DB_NAME() as database_name      ,case when data_space_id = 0 then 'LOG'            else FILEGROUP_NAME(data_space_id)             end as file_group      ,name as logical_name      ,physical_name      ,type_desc      ,FILEPROPERTY(name,'SpaceUsed')/128.0 as used_size_mb      ,size/128.0 as allocated_size_mb      ,case when max_size = -1 then max_size                 else max_size/128.0                 end as max_size_mb      ,vs.available_bytes/1024.0/1024 as disk_free_mb      ,growth      ,CAST(is_percent_growth as int) as is_percent_growthfrom sys.database_files dfcross apply sys.dm_os_volume_stats(DB_ID(),df.file_id) vswhere state_desc = 'ONLINE'

如果是SQL Server 2008 SP1以前的版本,可用xp_fixeddrives生成磁盤空閑空間表,再進行關聯。

(3) 結合文件是否自增長,文件最大值,磁盤空間,算出文件可用空間比率,改動如下:

select @@SERVERNAME as server_name      ,DB_NAME() as database_name      ,case when data_space_id = 0 then 'LOG'            else FILEGROUP_NAME(data_space_id)             end as file_group      ,name as logical_name      ,physical_name      ,type_desc      ,FILEPROPERTY(name,'SpaceUsed')/128.0 as used_size_mb      ,size/128.0 as allocated_size_mb      ,case when max_size = -1 then max_size                 else max_size/128.0                 end as max_size_mb      ,vs.available_bytes/1024.0/1024 as disk_free_mb      ,case when growth = 0 then  (size - FILEPROPERTY(name,'SpaceUsed'))*1.0/size            when growth > 0 and max_size = -1 then ((size/128.0 + vs.available_bytes/1024.0/1024) - FILEPROPERTY(name,'SpaceUsed')/128.0)/(size/128.0 + vs.available_bytes/1024.0/1024)            when growth
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区视频| 欧美日韩国产页| 亚洲高清av在线| 国产日韩欧美电影在线观看| 精品久久久久久久久国产字幕| 热99精品只有里视频精品| 国产精品一区二区三区免费视频| 这里精品视频免费| 国产裸体写真av一区二区| 亚洲电影在线观看| 欧美日韩亚洲一区二区三区| 欧美激情视频网址| 亚洲va欧美va在线观看| 成人免费淫片aa视频免费| 亚洲精选中文字幕| 91爱视频在线| 国产精品一区二区三区久久| 国产精品视频一区二区高潮| 亚洲欧洲日产国产网站| 国产精品美女无圣光视频| 色综合色综合网色综合| 色妞色视频一区二区三区四区| 中文字幕在线看视频国产欧美在线看完整| 久久夜色精品国产亚洲aⅴ| 神马久久桃色视频| 久久久91精品国产| 久久成人免费视频| 精品一区二区电影| 亚洲电影在线看| x99av成人免费| 在线观看精品国产视频| 日韩电影在线观看永久视频免费网站| 日韩亚洲在线观看| 久久香蕉精品香蕉| 国产精品亚洲网站| 久久91精品国产91久久跳| 国产91免费观看| 欧美性猛交xxxxx水多| 国产精品久久久久久久久影视| 国产91色在线|| 亚洲欧洲在线播放| 最近日韩中文字幕中文| 在线视频日本亚洲性| 成人免费在线视频网址| 欧美成人精品不卡视频在线观看| 久久人人爽人人爽人人片亚洲| 欧美中文字幕精品| 欧美大片网站在线观看| 欧美在线观看一区二区三区| 亚洲欧洲av一区二区| 欧美自拍视频在线观看| 日韩激情视频在线| 欧美裸身视频免费观看| 精品一区二区三区电影| 亚洲精品wwww| 欧美日韩国产色视频| 国产精品美女免费看| 久久免费精品视频| 97国产精品视频人人做人人爱| 日韩欧美亚洲成人| 午夜精品久久久久久久99热浪潮| 91在线观看免费网站| 国产精品热视频| 亚洲福利视频网站| 91香蕉嫩草神马影院在线观看| 亚洲国产中文字幕久久网| 国产精品成人av性教育| 欧美黄色免费网站| 97不卡在线视频| 亚洲欧美在线免费观看| 欧美激情网站在线观看| 国产一区二区日韩精品欧美精品| 国产精品成久久久久三级| 国产精品久久二区| 国产一区二区av| 国产精品va在线| 国产成人精品在线| 亚洲第一福利在线观看| 久久久精品久久| 91精品国产91久久久久福利| 国产视频精品免费播放| 欧美成人精品一区二区| 国产精品久久一区主播| 国产在线视频2019最新视频| 欧美日韩免费一区| 欧美激情综合色| 北条麻妃一区二区三区中文字幕| 成人免费看片视频| 成人网欧美在线视频| 成人在线精品视频| 国产成人精品一区二区| 精品日韩视频在线观看| 日韩av在线播放资源| 国产日产欧美a一级在线| 欧美老女人bb| 国产主播喷水一区二区| 欧美黑人xxxⅹ高潮交| 91九色国产社区在线观看| 大伊人狠狠躁夜夜躁av一区| 日韩欧美aⅴ综合网站发布| 亚洲欧美一区二区三区在线| 日韩欧美在线一区| 中文字幕亚洲天堂| 亚洲国产精品久久久久| 国产成+人+综合+亚洲欧美丁香花| 国产精品久久久久aaaa九色| 亚洲免费av网址| 夜夜躁日日躁狠狠久久88av| 欧美日本黄视频| 成人av电影天堂| 一区二区欧美久久| 韩剧1988免费观看全集| 日韩成人在线视频网站| 亚洲精选中文字幕| 国产日产亚洲精品| 亚洲乱码一区av黑人高潮| 欧美孕妇性xx| 国产亚洲美女精品久久久| 亚洲男人第一av网站| 91社影院在线观看| 狠狠躁天天躁日日躁欧美| 久久精品免费电影| 亚洲国产精品久久久久秋霞不卡| 7777kkkk成人观看| 日韩视频欧美视频| 欧美另类69精品久久久久9999| 中日韩美女免费视频网址在线观看| 91麻豆桃色免费看| 欧美一级大片在线免费观看| 欧美性69xxxx肥| 成人免费午夜电影| 亚洲成人网在线观看| 青青在线视频一区二区三区| 91久久国产精品| 91精品视频在线免费观看| 久久这里有精品| 66m—66摸成人免费视频| 亚洲国产精久久久久久久| 这里只有精品丝袜| 97视频在线观看视频免费视频| 91视频九色网站| 亚洲va欧美va国产综合久久| 午夜精品一区二区三区在线视| 青青青国产精品一区二区| 国产精品亚洲视频在线观看| 欧美巨猛xxxx猛交黑人97人| 国内伊人久久久久久网站视频| 亚洲性猛交xxxxwww| 欧美性猛交xxxx黑人| 欧美性猛交视频| 精品国产一区二区三区四区在线观看| 久久亚洲私人国产精品va| 亚洲视频专区在线| 日日狠狠久久偷偷四色综合免费| 日韩在线视频观看正片免费网站| 国产精品午夜一区二区欲梦| 国产精品福利在线观看网址| 久久久久免费视频| 精品国产999| 国产男女猛烈无遮挡91| 国产99在线|中文| 亚洲成人av在线播放| 亚洲va久久久噜噜噜| 亚洲欧美在线看|