22,207
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE extentinfo
(
[FILE_ID] SMALLINT,
page_id INT,
pg_alloc INT,
ext_size INT,
obj_id INT ,
index_id INT,
partition_number INT ,
partition_id BIGINT,
iam_chain_type VARCHAR(50),
pfs_bytes VARBINARY(10)
)
go
CREATE PROC import_extentinfo AS
DBCC extentinfo('AdventureWorks')
GO
INSERT INTO extentinfo
EXEC import_extentinfo
GO
SELECT [file_id],obj_id,index_id,PARTITION_id,ext_size,'actual extent count'=COUNT(*),
'actual page count'=SUM(pg_alloc),'possible extent count'=CEILING(SUM(pg_alloc)*1.0/ext_size),
'possible extents /actual extents'=(CEILING(SUM(pg_alloc)*1.00/ext_size)*100.00)/COUNT(*)
FROM extentinfo
GROUP BY [file_id],obj_id,index_id,PARTITION_id,ext_size
HAVING COUNT(*)-CEILING(SUM(pg_alloc)*1.0/ext_size)>0
ORDER BY PARTITION_id,obj_id,index_id,[file_id]
EXEC sp_spaceused @updateusage='true'