Cara Memantau SQL Server Pertumbuhan Pangkalan Data menggunakan TSQL dan Excel

Kongsi Sekarang:

Memantau pertumbuhan pangkalan data adalah faktor utama dalam merancang sumber pelayan. Gunakan skrip ini dan buat laporan pertumbuhan pangkalan data yang mudah difahami

Mengapa Anda Perlu Memantau Pertumbuhan Pangkalan Data

Sekiranya anda adalah pentadbir Pangkalan Data SQL dan jika anda tidak mempunyai "SQL Server perancangan kapasiti pangkalan data ”dalam senarai tugas utama anda, maka anda dapat memastikan bahawa pangkalan data di pelayan anda akan segera memenuhi ruang cakera anda. Menjejaki ukuran dan pertumbuhan pangkalan data SQL adalah salah satu tugas utama perancangan Kapasiti. Ini juga memastikan bahawa terdapat cukup ruang pada cakera untuk pangkalan data anda berkembang.

DIY melalui Skrip SQL dan Excel

Dalam artikel ini, kita akan menggunakan SQL dan Excel untuk menangkap ukuran pangkalan data SQL bersama dengan pola. Ini akan membolehkan kita merancang keperluan ruang yang akan datang dan juga membantu kita memahami garis masa di mana terdapat banyak jumlah.

Proses ini dibahagikan kepada empat langkah yang berbeza sehingga anda dapat mengikuti tanpa masalah.

Langkah 1: Jalankan skrip ini pada tetingkap pertanyaan baru.

Hasilnya akan mempunyai nama pangkalan data sebagai tajuk baris dan Bulan sebagai tajuk Kolum. Nilai yang ditunjukkan dalam output adalah ukuran pangkalan data 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

Pengeluaran :Saiz Pangkalan Data Keluaran

Langkah 2: Buat contoh baru Excel, dan salin Hasil dari langkah sebelumnya ke lembaran Excel baru anda.

Salin Keluaran ke Lembaran Excel

Langkah 3: Sekarang pilih dua baris pertama pada helaian dan masukkan carta garis 2D.

Ini akan membuat carta trend untuk pangkalan data yang dipilih. Dalam Carta, X Paksi akan menunjukkan bulan dan Paksi Y akan menunjukkan ukuran pangkalan data dalam GB.Pilih Dua Baris Pertama Di Lembaran Dan Masukkan Carta Garis 2D

Langkah 4: Pilih keseluruhan data dengan menyeret simbol 'tambah' untuk menyelimutkannya.

Ini akan menunjukkan arah aliran semua pangkalan data pada carta.Pilih Keseluruhan Data

Tunjukkan Trend Semua Pangkalan Data Pada Carta

Sekiranya anda melangkau Langkah 3 dan memasukkan carta garis 2D dengan memilih keseluruhan jadual, anda masih akan mendapat carta tetapi paksi X akan menunjukkan nama Pangkalan Data dan bukannya Bulan, Ini bukan output yang diperlukan.Langkau Langkah 3 Dan Masukkan Carta Garis 2D Dengan Memilih Keseluruhan Jadual

Jadual Output mungkin mempunyai beberapa nilai NULL. Ini berlaku kerana sejarah sandaran pangkalan data mungkin tidak mempunyai catatan untuk pangkalan data untuk bulan tersebut. Ini juga menyiratkan bahawa skrip merujuk kepada ukuran cadangan dalam jadual sejarah sandaran untuk mengesan tren pertumbuhan. Sekiranya mana-mana pangkalan data anda tidak termasuk dalam rancangan cadangan, jadual Output akan tetap menyimpan nama pangkalan data tetapi nilai untuk semua bulan akan NULL

Betulkan Pangkalan Data Berukuran Besar

Sekiranya anda tidak mengikuti strategi di atas pada masa lalu, dan pangkalan data anda terlalu besar, maka ia boleh menyebabkan pelbagai masalah. Dalam kes sedemikian, anda lebih baik mencari a SQL Server alat pemulihan fail untuk menyelesaikan masalah dengan berkesan dan cekap.

Pengenalan Pengarang:

Neil Varley adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk membaiki masalah Outlook dan produk perisian pemulihan yang unggul. Untuk maklumat lebih lanjut, lawati www.datanumen.com

Kongsi Sekarang:

Ruangan komen telah ditutup.