пятница, 18 июля 2014 г.

Скрипт показывающий размер таблиц базы данных

Иногда бывает необходимо узнать на что уходит место в БД. Для этого был "создан" скрипт показывающий размер таблиц базы данных

Скрипт является компиляции 3 скриптов, найденных на сайтах stackoverflow.com и sql.ru





Сам скрипт:

DECLARE @sysFL varchar(100)

if exists(select * from master.sys.sysdatabases where name = N'#temp')  drop table #temp

CREATE TABLE [#temp] (
[Name] [nvarchar](100) ,
[Rows] [char] (11) ,
[Reserved] [varchar] (18) ,
[Data] [varchar] (18) ,
[index_size] [varchar] (18) ,
[Unused] [varchar] (18)
) ON [PRIMARY]

DECLARE cursorsys CURSOR FOR
select Table_Schema + '.' + Table_Name from INFORMATION_SCHEMA.TABLES

OPEN cursorsys
FETCH NEXT FROM cursorsys into @sysFL
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT into [#temp] EXEC sp_SpaceUsed @sysFL
FETCH NEXT FROM cursorsys into @sysFL
END
CLOSE cursorsys
DEALLOCATE cursorsys

select * from #temp order by convert(int,left(Data,LEN(Data)-3)) desc

select 'ALL DATABASE', sum(convert(int,left(Reserved,LEN(Reserved)-3))) AS 'Reserved',
sum(convert(int,left(Data,LEN(Data)-3))) AS 'Data',
sum(convert(int,left(index_size,LEN(index_size)-3))) AS 'index_size',
sum(convert(int,left(Unused,LEN(Unused)-3))) AS 'Unused' from #temp
drop table #temp


Комментариев нет:

Отправить комментарий