一、查詢某個資料表占用空間大小
code:
exec sp_spaceused 『表名稱』
二、迴圈讀取資料庫中所有表,並查詢出每張表所占用的空間大小
code:
--建立乙個臨時表
use [dbname]
create table #tabspaceused(
name nvarchar(100),
row char(11),
reserved varchar(18),
data varchar(18),
index_size varchar(18),
unused varchar(18)
)--迴圈資料庫查詢某個表所佔空間大小
exec sp_msforeachtable 'insert into #tabspaceused exec sp_spaceused ''?'''
--查詢結果
select * from #tabspaceused
--刪除臨時表
drop table #tabspaceused
--另一種方法
select
tablename = obj.name,
totalrows = prt.rows,
[spaceused(kb)] = sum(alloc.used_pages)*8
from sys.objects obj
join sys.indexes idx on obj.object_id = idx.object_id
join sys.partitions prt on obj.object_id = prt.object_id
join sys.allocation_units alloc on alloc.container_id = prt.partition_id
where obj.type = 'u' and idx.index_id in (0, 1)
group by obj.name, prt.rows
order by tablename
三、查詢出若干條資料記錄所佔空間大小
code:
--建立乙個臨時表
use [dbname]
create table #tabspaceused(
name nvarchar(100),
row char(11),
reserved varchar(18),
data varchar(18),
index_size varchar(18),
unused varchar(18)
)select * into #temp from [tablename] --where 條件
exec('use tempdb;insert into #tabspaceused exec sp_spaceused ''#temp'' drop table #temp')
select * from #tabspaceused --查詢結果
四、定義一些變數,查詢其所佔大小
code:
declare @t nvarchar(200)
declare @t1 numeric(15, 2)
set @t='新建文字文件文件.txt'
set @t1=13.09234
select datalength(@t)--所佔位元組
select datalength(@t1)--所佔位元組
查詢資料表空間
系統介面異常無法匯出的時候,考慮下系統表空間是否不能擴充套件了.查詢表空間指令碼如下 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char...
查詢資料表空間
系統介面異常無法匯出的時候,考慮下系統表空間是否不能擴充套件了.查詢表空間指令碼如下 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char...
查詢資料表空間
系統介面異常無法匯出的時候,考慮下系統表空間是否不能擴充套件了.查詢表空間指令碼如下 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char...