Hogyan figyeljünk SQL Server Adatbázis bővítés TSQL és Excel használatával

Oszd meg most:

Az adatbázis-növekedés figyelése kulcsfontosságú tényező a kiszolgáló erőforrásainak tervezésében. Használja ezt a szkriptet, és készítsen könnyen érthető adatbázis-növekedési jelentést

Miért kell nyomon követnie az adatbázis-növekedést?

Ha Ön SQL Database rendszergazda, és nem rendelkezik "SQL Server adatbázis-kapacitás tervezése” kulcsfontosságú feladatlistájában, akkor biztos lehet benne, hogy a szerverén lévő adatbázisok hamarosan megtelik a lemezterületet. Az SQL adatbázisok méretének és növekedésének nyomon követése a kapacitástervezés egyik elsődleges feladata. Ez azt is biztosítja, hogy elegendő hely legyen a lemezen az adatbázisok növekedéséhez.

DIY SQL Script és Excel segítségével

Ebben a cikkben az SQL-t és az Excelt használjuk az SQL-adatbázisok méretének rögzítésére a mintával együtt. Ez lehetővé teszi számunkra, hogy megtervezzük a küszöbön álló helyigényeket, és segít megérteni azt az idővonalat is, amely alatt nagy mennyiségről van szó.

Ez a folyamat négy különböző lépésre van felosztva, így Ön gond nélkül követheti.

1. lépés: Futtassa ezt a szkriptet egy új lekérdező ablakban.

A kimenetben az adatbázis nevek sorfejlécek, a hónap pedig oszlopfejlécek lesznek. A kimenetben látható értékek az adatbázis mérete GB-ban.

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

Kimenet:Kimeneti adatbázis mérete

2. lépés: Hozzon létre egy új Excel-példányt, és másolja az előző lépés kimenetét az új Excel-lapra.

Másolja a kimenetet Excel-lapra

3. lépés: Most válassza ki a lap első két sorát, és szúrjon be egy 2D vonaldiagramot.

Ezzel létrehozza a kiválasztott adatbázis trenddiagramját. A diagramon az X tengely a hónapokat, az Y tengely pedig az adatbázis méretét jelöli GB-ban.Válassza ki a lap első két sorát, és szúrjon be egy 2D vonaldiagramot

4. lépés: Válassza ki a teljes adatot a „plusz” szimbólum húzásával, hogy beborítsa azokat.

Ez megmutatja a diagramon szereplő összes adatbázis trendjét.Válassza a The Entire Data lehetőséget

Mutassa meg az összes adatbázis trendjét a diagramon

Ha kihagyja a 3. lépést, és beszúr egy 2D vonaldiagramot a teljes táblázat kijelölésével, akkor is kap egy diagramot, de az X tengely az adatbázisneveket jelöli a hónap helyett. Ez nem a szükséges kimenet.Hagyja ki a 3. lépést, és szúrjon be egy 2D vonaldiagramot a teljes táblázat kiválasztásával

Előfordulhat, hogy a kimeneti tábla NULL értéket tartalmaz. Ez azért történik, mert előfordulhat, hogy az adatbázis biztonsági mentési előzményei nem tartalmaznak rekordot az adott hónapra vonatkozóan. Ez azt is jelenti, hogy a szkript hivatkozik a biztonsági mentés méretére a biztonsági mentési előzmények táblázatában a növekedési trend nyomon követése érdekében. Ha valamelyik adatbázis nem szerepel a biztonsági mentési tervben, a kimeneti tábla továbbra is tartalmazza az adatbázis nevét, de az összes hónap értéke NULL lesz.

Túlméretezett adatbázis javítása

Ha korábban nem követi a fenti stratégiát, és az adatbázisa túlméretezett, az különféle problémákat okozhat. Ilyen esetben jobb, ha megkeresi a SQL Server fájl-helyreállító eszköz a probléma hatékony és eredményes megoldásához.

Szerző Bevezetés:

Neil Varley adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve javítsa ki az Outlook problémát és Excel helyreállítási szoftvertermékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.