Script för att hitta använt och ledigt utrymme

Script för att hitta använt och ledigt utrymme i databasfiler

Tänk bara, du har över 300 eller mer databaser tillgängliga på Servern och plötsligt diskutrymme larm träffat din inkorg.

Vad ska du göra nu, kan lagringen INTE läggas till eller förbrukas i farten.

Här är DU testade script för att hitta ANVÄNT och ledigt utrymme från SQL Server-databasen är datafiler som du kan KRYMPA för att JUST hantera den nuvarande situationen.

Declare @DatabaseName varchar(600)
create table #DBSpace(FielId tinyint, Filegroup tinyint, TotalSpace int, Used_Space int, Name1 varchar(30),NameofFile Varchar(800) )
Declare curDB cursor for select name from master..sysdatabases where name not in(‘master’,’model’,’msdb’,’Northwind’,’pubs’)
open curDB
fetch curDB into @DatabaseName
while @@fetch_status = 0
begin
if databasepropertyex(@DatabaseName,’Status’) = ‘ONLINE’
begin
insert into #DBSpace exec (‘USE [‘ + @DatabaseName + ‘]  DBCC SHOWFILESTATS’)
end
fetch curDB into @DatabaseName
end
close curDB
deallocate curDB

– Get the results

select sd.name AS ‘DatabaseName’, TotalSpace/18 as ‘Total Database Size (MB)’, Used_Space/18 as ‘Total Used Space (MB)’,

(TotalSpace/18)-(Used_Space/18)as ‘FreeSpace’ from #DBSpace dbs

join master..sysdatabases sd on sd.filename=dbs.NameofFile order by ‘FreeSpace’ desc
– Drop the temp table after results

Drop table #DBSpace

.

Kunskap bör dela – Khan MCTS-SQLDBA

 www.addarr.com

Advertisements
%d bloggers like this: