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ış:
Adım 2: Yeni bir Excel örneği oluşturun ve önceki adımın Çıktısını yeni Excel sayfanıza 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.
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.
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.
Çı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





