久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

如何獲取SQL Server數據庫里表的占用容量大小

瀏覽:129日期:2023-11-06 16:04:50

其實只要使用系統內置的存儲過程sp_spaceused就可以得到表的相關信息

如:sp_spaceused 'tablename'

以下是為了方便寫的一個存儲過程,目的是把當前的所有表的相關信息全部都保存在一個指定的表里面

CREATE PROCEDURE get_tableinfo AS if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) create table; tablespaceinfo --創建結果存儲表 (nameinfo varchar(50) ,; rowsinfo int , reserved varchar(20) ,; datainfo varchar(20); ,; index_size varchar(20) ,; unused varchar(20) ) delete from tablespaceinfo --清空數據表 declare @tablename varchar(255); --表名稱 declare @cmdsql varchar(500) DECLARE Info_cursor CURSOR FOR; select o.namefrom dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1; and o.name not like N'#%%'; order by o.name OPEN Info_cursor FETCH NEXT FROM Info_cursor; INTO @tablename; WHILE @@FETCH_STATUS = 0 BEGIN if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1) execute sp_executesql; N'insert into tablespaceinfo; exec sp_spaceused @tbname', N'@tbname varchar(255)', @tbname = @tablename FETCH NEXT FROM Info_cursor; INTO @tablename; END CLOSE Info_cursor DEALLOCATE Info_cursor GO

執行存儲過程 exec get_tableinfo

查詢運行該存儲過程后得到的結果 select * from tablespaceinfo; order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

標簽: Sql Server 數據庫
主站蜘蛛池模板: 靖州| 贞丰县| 固镇县| 仁怀市| 北辰区| 同心县| 巫溪县| 忻城县| 兴和县| 乳源| 闽侯县| 临安市| 奎屯市| 南川市| 砀山县| 巴塘县| 泽州县| 福鼎市| 乐山市| 健康| 金山区| 崇仁县| 定安县| 丰顺县| 西林县| 广元市| 陆河县| 随州市| 奉新县| 淮北市| 三河市| 湟中县| 盐津县| 汝州市| 郯城县| 新绛县| 巫溪县| 友谊县| 石泉县| 武义县| 堆龙德庆县|