Duomenų bazės augimo stebėjimas yra pagrindinis veiksnys planuojant serverio išteklius. Naudokite šį scenarijų ir sukurkite lengvai suprantamą duomenų bazės augimo ataskaitą
Kodėl reikia stebėti duomenų bazės augimą
Jei esate SQL duomenų bazės administratorius ir neturite „SQL Server duomenų bazės talpos planavimas“ savo pagrindinių užduočių sąraše, galite būti tikri, kad jūsų serveryje esančios duomenų bazės gana greitai užpildys jūsų disko vietą. SQL duomenų bazių dydžio ir augimo stebėjimas yra viena iš pagrindinių pajėgumų planavimo užduočių. Tai taip pat užtikrina, kad diske būtų pakankamai vietos duomenų bazėms plėsti.
DIY per SQL scenarijų ir Excel
Šiame straipsnyje mes naudosime SQL ir Excel, kad užfiksuotume SQL duomenų bazių dydį kartu su modeliu. Tai leis mums planuoti neišvengiamus erdvės poreikius ir suprasti laiko juostą, per kurią yra didelis kiekis.
Šis procesas suskirstytas į keturis skirtingus veiksmus, kad galėtumėte atlikti be jokių problemų.
1 veiksmas: paleiskite šį scenarijų naujame užklausos lange.
Išvesties duomenų bazės pavadinimai bus kaip eilučių antraštės, o mėnuo – kaip stulpelių antraštės. Išvestyje rodomos reikšmės yra duomenų bazės dydis 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
Rezultatas:
2 veiksmas: sukurkite naują „Excel“ egzempliorių ir nukopijuokite ankstesnio veiksmo išvestį į naują „Excel“ lapą.
3 veiksmas: Dabar lape pasirinkite dvi pirmąsias eilutes ir įterpkite 2D linijinę diagramą.
Taip bus sukurta pasirinktos duomenų bazės tendencijų diagrama. Diagramoje X ašis žymės mėnesius, o Y ašis – duomenų bazės dydį GB.
4 veiksmas: pasirinkite visus duomenis, vilkdami „pliuso“ simbolį, kad juos aptrauktumėte.
Tai parodys visų diagramoje esančių duomenų bazių tendencijas.
Jei praleisite 3 veiksmą ir įterpsite 2D linijinę diagramą pasirinkę visą lentelę, vis tiek gausite diagramą, tačiau X ašyje bus nurodyti duomenų bazės pavadinimai, o ne mėnuo. Tai nėra reikalinga išvestis.
Išvesties lentelėje gali būti keletas NULL reikšmių. Taip nutinka todėl, kad duomenų bazės atsarginių kopijų istorijoje gali nebūti to konkretaus mėnesio duomenų bazės įrašų. Tai taip pat reiškia, kad scenarijus nurodo atsarginės kopijos dydį atsarginių kopijų istorijos lentelėje, kad būtų galima stebėti augimo tendenciją. Jei kuri nors iš jūsų duomenų bazių nėra įtraukta į atsarginės kopijos planą, išvesties lentelėje vis tiek bus duomenų bazės pavadinimas, bet visų mėnesių reikšmės bus NULL
Pataisykite per didelę duomenų bazę
Jei anksčiau nesilaikysite aukščiau nurodytos strategijos ir jūsų duomenų bazė yra per didelė, tai gali sukelti įvairių problemų. Tokiu atveju geriau susirasti a SQL Server failų atkūrimo įrankis efektyviai ir efektyviai išspręsti problemą.
Autoriaus įvadas:
Neilas Varley yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant ištaisyti „Outlook“ problemą ir Excel atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com





