Kā uzraudzīt SQL Server Datu bāzes pieaugums, izmantojot TSQL un Excel

Kopīgot tūlīt:

Datu bāzes pieauguma uzraudzība ir galvenais faktors servera resursu plānošanā. Izmantojiet šo skriptu un izveidojiet viegli saprotamu datu bāzes pieauguma pārskatu

Kāpēc jums jāuzrauga datu bāzes izaugsme

Ja esat SQL datu bāzes administrators un jums navSQL Server datu bāzes ietilpības plānošana ”savā galveno uzdevumu sarakstā, tad jūs varat būt pārliecināti, ka jūsu servera datu bāzes diezgan drīz piepildīs jūsu vietu diskā. SQL datu bāzu lieluma un pieauguma izsekošana ir viens no jaudas plānošanas galvenajiem uzdevumiem. Tas arī nodrošina, ka diskā ir pietiekami daudz vietas, lai jūsu datu bāzes augtu.

DIY, izmantojot SQL skriptu un Excel

Šajā rakstā mēs izmantosim SQL un Excel, lai attēlotu SQL datu bāzu lielumu kopā ar modeli. Tas ļaus mums plānot neizbēgamas vietas prasības, kā arī palīdzēs saprast laika skalu, kurā ir liels apjoms.

Šis process ir sadalīts četrās dažādās darbībās, lai jūs varētu sekot tam bez grūtībām.

1. darbība: izpildiet šo skriptu jaunā vaicājuma logā.

Izvadei būs datu bāzes nosaukumi kā rindu galvenes un mēnesis kā kolonnu galvenes. Izvades vērtības ir datubāzes lielums 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

Rezultāts:Izejas datu bāzes lielums

2. solis: Izveidojiet jaunu Excel gadījumu un nokopējiet iepriekšējā soļa iznākumu jaunajā Excel lapā.

Kopējiet izvadi Excel lapā

3. solis: Tagad lapā atlasiet pirmās divas rindas un ievietojiet 2D līniju diagrammu.

Tas izveidos atlasītās datu bāzes tendenču diagrammu. Diagrammā X ass apzīmēs mēnešus, un Y Axis datubāzes lielumu GB.Lapā atlasiet pirmās divas rindas un ievietojiet 2D līniju diagrammu

4. solis: atlasiet visus datus, velkot simbolu “plus”, lai tos aptvertu.

Tas parādīs visu diagrammas datu bāzu tendenci.Atlasiet Visus datus

Rādīt diagrammas visu datu bāzu tendences

Ja izlaidīsit 3. darbību un ievietosiet 2D līniju diagrammu, atlasot visu tabulu, jūs joprojām iegūsiet diagrammu, bet X ass mēneša vietā apzīmēs datu bāzes nosaukumus. Šī nav vajadzīgā izeja.Izlaidiet 3. darbību un ievietojiet 2D līniju diagrammu, atlasot visu tabulu

Tabulā Output var būt dažas NULL vērtības. Tas notiek tāpēc, ka datu bāzes dublējuma vēsturē, iespējams, attiecīgajā mēnesī nav datu bāzes ierakstu. Tas arī nozīmē, ka skripts atsaucas uz dublējuma lielumu dublējuma vēstures tabulā, lai izsekotu izaugsmes tendencei. Ja kāda no jūsu datu bāzēm nav iekļauta dublēšanas plānā, tabulā Output joprojām būs datubāzes nosaukums, bet visu mēnešu vērtības būs NULL

Labot lielizmēra datu bāzi

Ja jūs iepriekš neievērojat iepriekš minēto stratēģiju un jūsu datu bāze ir pārāk liela, tad tā var radīt dažādas problēmas. Šādā gadījumā labāk atrast SQL Server failu atkopšanas rīks efektīvi un efektīvi atrisināt problēmu.

Autora ievads:

Nils Varlijs ir datu atkopšanas eksperts DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp labot Outlook problēmu un Excel atkopšanas programmatūras produkti. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar

Kopīgot tūlīt:

Komentāri ir slēgti.