Memantau pertumbuhan database adalah faktor kunci dalam merencanakan sumber daya server. Gunakan skrip ini dan buat laporan pertumbuhan database yang mudah dipahami
Mengapa Anda Perlu Memantau Pertumbuhan Database
Jika Anda adalah administrator Database SQL dan jika Anda tidak memiliki "SQL Server perencanaan kapasitas basis data ”di daftar tugas utama Anda, maka Anda dapat yakin bahwa basis data di server Anda akan segera mengisi ruang disk Anda. Melacak ukuran dan pertumbuhan database SQL adalah salah satu tugas utama perencanaan Kapasitas. Ini juga memastikan bahwa ada cukup ruang pada disk untuk database Anda berkembang.
DIY melalui SQL Script dan Excel
Pada artikel ini, kita akan menggunakan SQL dan Excel untuk menangkap ukuran database SQL beserta polanya. Ini akan memungkinkan kami untuk merencanakan persyaratan ruang yang akan datang dan juga membantu kami memahami garis waktu di mana ada volume yang berat.
Proses ini dibagi menjadi empat langkah berbeda sehingga Anda dapat mengikuti tanpa masalah.
Langkah 1: Jalankan skrip ini di jendela kueri baru.
Outputnya akan memiliki nama database sebagai header baris dan Bulan sebagai header Kolom. Nilai yang ditampilkan dalam output adalah ukuran database dalam GB.
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
Output:
Langkah 2: Buat instance Excel baru, dan salin Output dari langkah sebelumnya ke lembar Excel baru Anda.
Langkah 3: Sekarang pilih dua baris pertama pada lembar dan masukkan grafik garis 2D.
Ini akan membuat grafik tren untuk database yang dipilih. Di Bagan, Sumbu X akan menunjukkan bulan dan Sumbu Y akan menunjukkan ukuran database dalam GB.
Langkah 4: Pilih seluruh data dengan menyeret simbol 'plus' untuk membungkusnya.
Ini akan menunjukkan tren semua database pada grafik.
Jika Anda melewati Langkah 3 dan menyisipkan diagram garis 2D dengan memilih seluruh tabel, Anda masih akan mendapatkan diagram tetapi sumbu X akan menunjukkan nama Database, bukan Bulan, Ini bukan keluaran yang diperlukan.
Tabel Output mungkin memiliki beberapa nilai NULL. Ini terjadi karena riwayat pencadangan basis data mungkin tidak memiliki catatan apa pun untuk basis data untuk bulan tersebut. Ini juga menyiratkan bahwa skrip mengacu pada ukuran cadangan di tabel riwayat cadangan untuk melacak tren pertumbuhan. Jika salah satu database Anda tidak termasuk dalam rencana cadangan, tabel Output akan tetap menyimpan nama database tetapi nilai untuk semua bulan adalah NULL
Perbaiki Basis Data Besar
Jika Anda tidak mengikuti strategi di atas di masa lalu, dan database Anda terlalu besar, maka ini dapat menyebabkan berbagai masalah. Dalam kasus seperti itu, Anda sebaiknya mencari file SQL Server alat pemulihan file untuk memecahkan masalah secara efektif dan efisien.
Pengantar Penulis:
Neil Varley adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memperbaiki masalah Outlook dan unggul dalam produk perangkat lunak pemulihan. Untuk informasi lebih lanjut kunjungi www.datanumen.com





