YetAnotherForum
სალამი სტუმარს ძებნა | აქტიური თემები | შესვლა | რეგისტრაცია

ფავორიტებში დამატება
ინფორმაცია მონაცემთა ბაზაში თავისუფალი ადგილის და მისი ზომების შესახებ
vajaGM Offline
#1 Posted : Saturday, March 17, 2012 6:10:54 PM

Rank: Administration

Medals:

Groups: Administrators
Joined: 10/20/2012
Posts: 106
Points: 327
Location: Tbilisi

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
-- ინფორმაცია მონაცემთა ბაზაში თავისუფალი ადგილის და მისი ფაილის ზომების შესახებ - ერთი მონაცემთა ბაზისათვის
ქუოტა (Quote):
SELECT CONVERT(numeric(10, 2), ROUND(size / 128., 2)) AS 'File Size (MB)', CONVERT(numeric(10, 2), ROUND(FILEPROPERTY(name, 'SpaceUsed') / 128., 2))
AS 'Used Space (MB)', CONVERT(numeric(10, 2), ROUND((size - FILEPROPERTY(name, 'SpaceUsed')) / 128., 2)) AS 'Unused Space (MB)', name AS 'FileName',
filename AS filenamePath, status, perf, growth, maxsize, groupid
FROM sys.sysfiles AS a



-- ინფორმაცია მონაცემთა ბაზების მოონაცემების, ინდექსების და თავისუფალი ადგილის ზომების შესახებ - სერვერის ყველა მონაცემთა ბაზისათვის
ქუოტა (Quote):
declare @dbName sysname
,@vSQL varchar(4000)

create table #tblDBSpaceUsage
(
DBName sysname,
Reserved varchar(250),
DataSize varchar(250),
IndexSize varchar(250),
Unused varchar(250),

)

declare cur_ChkSpace cursor for select name from master..sysdatabases order by name

open cur_ChkSpace

fetch cur_ChkSpace into @dbname



while @@fetch_status = 0
begin


set @vSQL = 'select ''' + @dbName + ''', str((sum(a.total_pages)*8192)/1024.,15,0) Reserved,'
set @vSQL = @vSQL + 'str((sum('
set @vSQL = @vSQL + ' CASE'
set @vSQL = @vSQL + ' When it.internal_type IN (202,204) Then 0'
set @vSQL = @vSQL + ' When a.type <> 1 Then a.used_pages'
set @vSQL = @vSQL + ' When p.index_id < 2 Then a.data_pages'
set @vSQL = @vSQL + ' Else 0'
set @vSQL = @vSQL + ' END'
set @vSQL = @vSQL + ' )*8192)/1024.,15,0) Data,'

set @vSQL = @vSQL + ' str((sum(a.used_pages) - sum('
set @vSQL = @vSQL + ' CASE'
set @vSQL = @vSQL + ' When it.internal_type IN (202,204) Then 0'
set @vSQL = @vSQL + ' When a.type <> 1 Then a.used_pages'
set @vSQL = @vSQL + ' When p.index_id < 2 Then a.data_pages'
set @vSQL = @vSQL + ' Else 0'
set @vSQL = @vSQL + ' END'
set @vSQL = @vSQL + ' )) * 8192 / 1024.,15,0) Index_Size,'
set @vSQL = @vSQL + ' str((sum(a.total_pages) - sum(a.used_pages)) * 8192 / 1024.,15,0) Unused'
set @vSQL = @vSQL + ' from ' + @dbName + '.sys.partitions p join ' + @dbName + '.sys.allocation_units a on p.partition_id = a.container_id'
set @vSQL = @vSQL + ' left join ' + @dbName + '.sys.internal_tables it on p.object_id = it.object_id'

insert into #tblDBSpaceUsage exec (@vSQL)


fetch cur_ChkSpace into @dbname

end
close cur_ChkSpace
deallocate cur_ChkSpace

select DBName
,Reserved 'Reserved (KB)'
,DataSize 'DataSize (KB)'
,IndexSize 'IndexSize (KB)'
,Unused 'Unused (KB)'
from #tblDBSpaceUsage

drop table #tblDBSpaceUsage
ქუოტა (Quote):
Sponsor  
 
Apex ltd. http://www.apex.ge
Users browsing this topic
Guest
ფავორიტებში დამატება
Forum Jump  
თქვენ არ შეგიძლიათ დაწეროთ ახალი თემა ამ ფორუმში.
თქვენ არ შეგიძლიათ გასცეთ პასუხი, თემას, ამ ფორუმში .
თქვენ არ შეგიძლიათ წაშალოთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ ჩაასწოროთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ შექმნათ გამოკითხვა ამ ფორუმში.
თქვენ არ შეგიძლიათ ხმის მიცემა ამ ფოუმში.

YAFVision Theme by Jaben Cargman (Tiny Gecko)
Powered by YAF | YAF © 2003-2009, Yet Another Forum.NET
This page was generated in 0.093 seconds.