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:
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.
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.
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.
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.
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





