Nasıl İzlenir SQL Server TSQL ve Excel Kullanarak Veritabanı Büyütme

Şimdi paylaş:

Veritabanı büyümesinin izlenmesi, bir sunucunun kaynağının planlanmasında önemli bir faktördür. Bu betiği kullanın ve anlaşılması kolay veritabanı büyüme raporu oluşturun

Neden Veritabanı Büyümesini İzlemeniz Gerekiyor?

Bir SQL Veritabanı yöneticisiyseniz ve “SQL Server veritabanı kapasite planlaması”nı temel görev listenize eklerseniz, sunucunuzdaki veritabanlarının kısa sürede disk alanınızı dolduracağından emin olabilirsiniz. SQL veritabanlarının boyutunu ve büyümesini izlemek, Kapasite planlamasının birincil görevlerinden biridir. Bu ayrıca veritabanlarınızın büyümesi için diskte yeterli alan olmasını sağlar.

SQL Komut Dosyası ve Excel aracılığıyla DIY

Bu yazıda, kalıpla birlikte SQL veritabanlarının boyutunu yakalamak için SQL ve Excel'i kullanacağız. Bu, Yaklaşan alan gereksinimleri için planlama yapmamızı sağlayacak ve ayrıca yoğun bir hacmin olduğu zaman çizelgesini anlamamıza yardımcı olacaktır.

Bu süreç, herhangi bir sorun yaşamadan takip edebilmeniz için dört farklı adıma bölünmüştür.

Adım 1: Bu komut dosyasını yeni bir sorgu penceresinde yürütün.

Çıktı, satır başlıkları olarak veritabanı adlarına ve Sütun başlıkları olarak Ay'a sahip olacaktır. Çıktıda gösterilen değerler, GB cinsinden veritabanı boyutudur.

declare @v_count as integer, @do_count as integer, @v_month as varchar(20),@sql as varchar(5000)

create table [t_databases]
(
Database_Name varchar(200),
January       float(3),
February      float(3),
March  float(3),
April  float(3),
May    float(3),
June   float(3),
July   float(3),
August float(3),
September     float(3),
October       float(3),
November      float(3),
December      float(3),
)
create table t_databases_gateway
(
Database_Name varchar(200),
Database_Size float(3)
)
set @v_count = (select COUNT(*) from t_databases ) 
if @v_count = 0 
begin
insert into t_databases(Database_Name)
select name from sysdatabases 
 end
if @v_count <> 0 
 begin 
--this script captures the size of all databases. You can add a where clause to capture the size of specific database name 
 INSERT t_databases (Database_Name) 
 SELECT DISTINCT Name FROM sysdatabases cr LEFT JOIN t_databases c ON cr.Name = c.Database_Name WHERE c.Database_Name IS NULL 
 end 
 --select * from master.dbo.t_databases 
 --drop table t_databases 
 set @do_count = 1 
 while (@do_count <=12) 
 begin 
 set @v_month = DATENAME(m, str(@do_count) + '/1/2016') –change the year to 2017 or other year as per your requirement 
 truncate table master.dbo.t_databases_gateway 
 insert into master.dbo.t_databases_gateway select distinct
(msdb.dbo.backupset.[database_name]),max(msdb.dbo.backupset.[Backup_Size]/1073741824)
from msdb.dbo.backupset inner join master.dbo.t_databases on msdb.dbo.backupset.[database_name] = master.dbo.t_databases.[Database_Name] where
datepart(m,msdb.dbo.backupset.[backup_finish_date]) =  @do_count and datepart(yyyy,msdb.dbo.backupset.[backup_finish_date] ) = 2015 group by msdb.dbo.backupset.[database_name]
set @sql = 'update master.dbo.t_databases set ' + @v_month + ' = (select Database_Size from master.dbo.t_databases_gateway where master.dbo.t_databases.Database_Name = master.dbo.t_databases_gateway.Database_Name)'
exec (@sql)
set @do_count = @do_count + 1
end
select * from t_databases
drop table t_databases_gateway
drop table t_databases

Çıkış:Çıktı Veritabanı Boyutu

Adım 2: Yeni bir Excel örneği oluşturun ve önceki adımın Çıktısını yeni Excel sayfanıza kopyalayın.

Çıktıyı Excel Sayfasına Kopyalayın

Adım 3: Şimdi sayfadaki ilk iki satırı seçin ve bir 2B çizgi grafiği ekleyin.

Bu, seçilen veri tabanı için trend grafiğini oluşturacaktır. Grafikte, X Ekseni ayları ve Y Ekseni GB cinsinden veritabanı boyutunu gösterecektir.Sayfadaki İlk İki Satırı Seçin ve 2B Çizgi Grafiği Ekleyin

Adım 4: Zarflamak için 'artı' sembolünü sürükleyerek tüm verileri seçin.

Bu, grafikteki tüm veritabanlarının eğilimini gösterecektir.Tüm Verileri Seçin

Tüm Veritabanlarının Trendini Grafikte Gösterin

Adım 3'ü atlarsanız ve tüm tabloyu seçerek bir 2B çizgi grafiği eklerseniz, yine de bir grafik alırsınız ancak X ekseni Ay yerine Veritabanı adlarını gösterir, Bu gerekli çıktı değildir.3. Adımı Atlayın ve Tüm Tabloyu Seçerek 2B Çizgi Grafiği Ekleyin

Çıktı tablosunda bazı NULL değerler olabilir. Bunun nedeni, veritabanı yedekleme geçmişinde söz konusu ay için veritabanı için herhangi bir kayıt bulunmayabilmesidir. Ayrıca komut dosyasının, büyüme eğilimini izlemek için yedekleme geçmişi tablosundaki yedekleme boyutuna atıfta bulunduğu anlamına gelir. Veritabanlarınızdan herhangi biri yedekleme planına dahil değilse, Çıktı tablosu yine de veritabanı adını tutar ancak tüm aylar için değerler NULL olur

Büyük Boy Veritabanını Düzeltin

Geçmişte yukarıdaki stratejiyi izlemezseniz ve veritabanınız çok büyükse, bu çeşitli sorunlara neden olabilir. Böyle bir durumda, bir bulsan iyi olur SQL Server dosya kurtarma aracı Sorunu etkili ve verimli bir şekilde çözmek için.

Yazar Tanıtımı:

Neil Varley bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. Outlook sorununu onar ve excel kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

Şimdi paylaş:

Yoruma kapalı.