May 17, 2026, 11:40 PM
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
-- If you need more information, here is a nice SQL script, which I use from time to time:
|
||||
DECLARE @TabName varchar(100)
|
||||
|
||||
CREATE TABLE #temp (
|
||||
TabName varchar(200), IndexName varchar(200), IndexDescr varchar(200),
|
||||
IndexKeys varchar(200), IndexSize int
|
||||
)
|
||||
|
||||
DECLARE cur CURSOR FAST_FORWARD LOCAL FOR
|
||||
SELECT name FROM sysobjects WHERE xtype = 'U'
|
||||
|
||||
OPEN cur
|
||||
|
||||
FETCH NEXT FROM cur INTO @TabName
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO #temp (IndexName, IndexDescr, IndexKeys)
|
||||
EXEC sp_helpindex @TabName
|
||||
|
||||
UPDATE #temp SET TabName = @TabName WHERE TabName IS NULL
|
||||
|
||||
FETCH NEXT FROM cur INTO @TabName
|
||||
END
|
||||
|
||||
CLOSE cur
|
||||
DEALLOCATE cur
|
||||
|
||||
DECLARE @ValueCoef int
|
||||
SELECT @ValueCoef = low FROM Master.dbo.spt_values WHERE number = 1 AND type = N'E'
|
||||
|
||||
UPDATE #temp SET IndexSize =
|
||||
((CAST(sysindexes.used AS bigint) * @ValueCoef)/1024)/1024
|
||||
FROM sysobjects INNER JOIN sysindexes ON sysobjects.id = sysindexes.id
|
||||
INNER JOIN #temp T ON T.TabName = sysobjects.name AND T.IndexName = sysindexes.name
|
||||
|
||||
SELECT * FROM #temp
|
||||
ORDER BY TabName, IndexName
|
||||
|
||||
DROP TABLE #temp
|
||||
Reference in New Issue
Block a user