Spremljanje rasti baze podatkov je ključni dejavnik pri načrtovanju virov strežnika. Uporabite ta skript in ustvarite lahko razumljivo poročilo o rasti baze podatkov
Zakaj morate spremljati rast baze podatkov
Če ste skrbnik baze podatkov SQL in če nimate »SQL Server načrtovanje zmogljivosti baze podatkov« na vašem seznamu ključnih opravil, potem ste lahko prepričani, da bodo baze podatkov na vašem strežniku kmalu zapolnile vaš prostor na disku. Sledenje velikosti in rasti baz podatkov SQL je ena od primarnih nalog načrtovanja zmogljivosti. To tudi zagotavlja, da je na disku dovolj prostora za rast vaših baz podatkov.
Naredi sam prek skripta SQL in Excela
V tem članku bomo uporabili SQL in Excel za zajemanje velikosti baz podatkov SQL skupaj z vzorcem. To nam bo omogočilo načrtovanje neposrednih prostorskih potreb in nam tudi pomagalo razumeti časovnico, v kateri je velik obseg.
Ta postopek je razdeljen na štiri različne korake, tako da mu lahko sledite brez težav.
1. korak: Izvedite ta skript v novem oknu poizvedbe.
Izhod bo imel imena baze podatkov kot glave vrstic in mesec kot glave stolpcev. Vrednosti, prikazane v izhodu, so velikost baze podatkov v 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
Izhod:
2. korak: Ustvarite nov primerek Excela in kopirajte izhod iz prejšnjega koraka v svoj novi Excelov list.
3. korak: Zdaj izberite prvi dve vrstici na listu in vstavite 2D črtni grafikon.
To bo ustvarilo grafikon trendov za izbrano bazo podatkov. V grafikonu bo os X označevala mesece, os Y pa velikost baze podatkov v GB.
4. korak: Izberite celotne podatke tako, da povlečete simbol 'plus', da jih obdate.
To bo pokazalo trend vseh baz podatkov na grafikonu.
Če preskočite 3. korak in vstavite 2D črtni grafikon tako, da izberete celotno tabelo, boste še vedno dobili grafikon, vendar bo os X označevala imena baz podatkov namesto meseca. To ni zahtevan rezultat.
Izhodna tabela ima lahko nekaj vrednosti NULL. To se zgodi, ker zgodovina varnostnih kopij baze podatkov morda nima nobenega zapisa za bazo podatkov za ta določen mesec. Pomeni tudi, da se skript sklicuje na velikost varnostne kopije v tabeli zgodovine varnostnega kopiranja za sledenje trendu rasti. Če katera od vaših baz podatkov ni vključena v rezervni načrt, bo izhodna tabela še vedno vsebovala ime baze podatkov, vendar bodo vrednosti za vse mesece NULL.
Popravi preveliko bazo podatkov
Če v preteklosti niste sledili zgornji strategiji in je vaša zbirka podatkov prevelika, lahko povzroči različne težave. V takem primeru je bolje, da poiščete SQL Server orodje za obnovitev datotek učinkovito in učinkovito rešiti problem.
Uvod avtorja:
Neil Varley je strokovnjak za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z odpravite težavo z Outlookom in excel programske izdelke za obnovitev. Za več informacij obiščite www.datanumen.com





