国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:136日期: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 數據庫
主站蜘蛛池模板: 余庆县| 深水埗区| 乐清市| 贵州省| 陆川县| 星子县| 鹤庆县| 阳泉市| 牟定县| 顺义区| 南开区| 哈巴河县| 东兴市| 平顶山市| 苏州市| 馆陶县| 威信县| 顺昌县| 花莲县| 上高县| 台东市| 仙游县| 普洱| 义马市| 师宗县| 阜平县| 泗洪县| 濮阳县| 蕉岭县| 托克逊县| 杭州市| 镇巴县| 凌云县| 宁安市| 景宁| 石首市| 富平县| 新化县| 子洲县| 永靖县| 铅山县|