Praćenje rasta baze podataka je ključni faktor u planiranju resursa servera. Koristite ovu skriptu i kreirajte lako razumljiv izvještaj o rastu baze podataka
Zašto trebate pratiti rast baze podataka
Ako ste administrator SQL baze podataka i ako nemate “SQL Server planiranje kapaciteta baze podataka” na vašoj listi ključnih zadataka, tada možete biti sigurni da će baze podataka na vašem serveru popuniti vaš prostor na disku prilično brzo. Praćenje veličine i rasta SQL baza podataka jedan je od primarnih zadataka planiranja kapaciteta. Ovo također osigurava da ima dovoljno prostora na disku za rast vaših baza podataka.
Uradi sam putem SQL Script-a i Excel-a
U ovom članku ćemo koristiti SQL i Excel za snimanje veličine SQL baza podataka zajedno sa uzorkom. Ovo će nam omogućiti da planiramo neposredne potrebe za prostorom i takođe nam pomoći da razumemo vremensku liniju tokom koje postoji veliki obim.
Ovaj proces je podijeljen u četiri različita koraka tako da možete slijediti bez ikakvih problema.
Korak 1: Izvršite ovu skriptu u novom prozoru upita.
Izlaz će imati imena baze podataka kao zaglavlja reda i mjesec kao zaglavlja kolone. Vrijednosti prikazane u izlazu su veličina baze podataka u 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
Izlaz:
Korak 2: Kreirajte novu instancu Excel-a i kopirajte izlaz iz prethodnog koraka u vaš novi Excel list.
Korak 3: Sada odaberite prva dva reda na listu i umetnite 2D linijski grafikon.
Ovo će kreirati grafikon trenda za odabranu bazu podataka. Na grafikonu, X osa će označavati mjesece, a Y osa će označavati veličinu baze podataka u GB.
Korak 4: Odaberite cijele podatke povlačenjem simbola 'plus' da biste ih obavili.
Ovo će pokazati trend svih baza podataka na grafikonu.
Ako preskočite korak 3 i umetnete 2D linijski grafikon odabirom cijele tablice, i dalje ćete dobiti grafikon, ali os X će označavati imena baze podataka umjesto Mjeseca, Ovo nije potreban izlaz.
Izlazna tablica može imati neke NULL vrijednosti. Ovo se događa zato što historija sigurnosne kopije baze podataka možda nema nikakav zapis za bazu podataka za taj određeni mjesec. Takođe implicira da se skripta odnosi na veličinu rezervne kopije u tabeli istorije rezervnih kopija kako bi se pratio trend rasta. Ako bilo koja od vaših baza podataka nije uključena u rezervni plan, izlazna tabela će i dalje sadržavati naziv baze podataka, ali vrijednosti za sve mjesece će biti NULL
Popravi preveliku bazu podataka
Ako u prošlosti ne slijedite gornju strategiju, a vaša baza podataka je prevelika, to može uzrokovati razne probleme. U takvom slučaju, bolje je pronaći a SQL Server alat za oporavak datoteka da efikasno i efikasno reši problem.
Uvod za autora:
Neil Varley je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući popraviti Outlook problem i Excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com





