Si të Monitoroni SQL Server Rritja e bazës së të dhënave duke përdorur TSQL dhe Excel

Monitorimi i rritjes së bazës së të dhënave është një faktor kyç në planifikimin e burimit të një serveri. Përdorni këtë skript dhe krijoni një raport të rritjes së bazës së të dhënave të lehtë për t'u kuptuar

Pse duhet të monitoroni rritjen e bazës së të dhënave

Nëse jeni një administrator i bazës së të dhënave SQL dhe nëse nuk keni "SQL Server planifikimi i kapacitetit të bazës së të dhënave” në listën e detyrave tuaja kryesore, atëherë mund të jeni i sigurt se bazat e të dhënave në serverin tuaj do të mbushin hapësirën në disk shumë shpejt. Ndjekja e madhësisë dhe rritjes së bazave të të dhënave SQL është një nga detyrat kryesore të planifikimit të Kapacitetit. Kjo gjithashtu siguron që ka hapësirë ​​të mjaftueshme në disk që bazat e të dhënave tuaja të rriten.

DIY nëpërmjet SQL Script dhe Excel

Në këtë artikull, ne do të përdorim SQL dhe Excel për të kapur madhësinë e bazave të të dhënave SQL së bashku me modelin. Kjo do të na mundësojë të planifikojmë për kërkesat e afërta të hapësirës dhe gjithashtu të na ndihmojë të kuptojmë afatin kohor gjatë të cilit ka një vëllim të madh.

Ky proces ndahet në katër hapa të ndryshëm në mënyrë që të mund ta ndiqni pa asnjë problem.

Hapi 1: Ekzekutoni këtë skript në një dritare të re pyetjesh.

Dalja do të ketë emrat e bazës së të dhënave si tituj rreshtash dhe muaj si tituj kolonash. Vlerat e paraqitura në dalje janë madhësia e bazës së të dhënave në 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

Produkti:Madhësia e bazës së të dhënave të daljes

Hapi 2: Krijoni një shembull të ri të Excel dhe kopjoni Outputin nga hapi i mëparshëm në fletën tuaj të re Excel.

Kopjoni daljen në fletën e Excel

Hapi 3: Tani zgjidhni dy rreshtat e parë në fletë dhe futni një tabelë vijash 2D.

Kjo do të krijojë grafikun e tendencave për bazën e të dhënave të zgjedhur. Në grafik, boshti X do të tregojë muaj dhe boshti Y do të tregojë madhësinë e bazës së të dhënave në GB.Zgjidhni dy rreshtat e parë në fletë dhe futni një grafik vijash 2D

Hapi 4: Zgjidhni të gjitha të dhënat duke zvarritur simbolin 'plus' për t'i mbështjellë ato.

Kjo do të tregojë tendencën e të gjitha bazave të të dhënave në grafik.Zgjidhni Të dhënat e tëra

Trego trendin e të gjitha bazave të të dhënave në grafik

Nëse kaloni hapin 3 dhe futni një grafik vijash 2D duke zgjedhur të gjithë tabelën, do të merrni përsëri një grafik, por boshti X do të tregojë emrat e bazës së të dhënave në vend të muajit, ky nuk është rezultati i kërkuar.Kapërceni hapin 3 dhe futni një grafik vijash 2D duke zgjedhur të gjithë tabelën

Tabela Output mund të ketë disa vlera NULL. Kjo ndodh sepse historia rezervë e bazës së të dhënave mund të mos ketë asnjë rekord për bazën e të dhënave për atë muaj të caktuar. Ai gjithashtu nënkupton që skripti i referohet madhësisë së rezervës në tabelën e historisë së rezervimit për të ndjekur trendin e rritjes. Nëse ndonjë nga bazat e të dhënave tuaja nuk përfshihet në planin rezervë, tabela Output do të mbajë ende emrin e bazës së të dhënave, por vlerat për të gjithë muajt do të jenë NULL

Rregulloni bazën e të dhënave të tepërt

Nëse nuk e ndiqni strategjinë e mësipërme në të kaluarën dhe databaza juaj është e madhe, atëherë mund të shkaktojë probleme të ndryshme. Në një rast të tillë, është më mirë të gjesh një SQL Server mjet për rikuperimin e skedarëve për të zgjidhur problemin në mënyrë efektive dhe efikase.

Hyrje e autorit:

Neil Varley është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë riparimi i problemit të Outlook dhe produkte softuerike të rimëkëmbjes excel. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.