Monitorovanie rastu databázy je kľúčovým faktorom pri plánovaní zdrojov servera. Použite tento skript a vytvorte ľahko pochopiteľnú správu o raste databázy
Prečo musíte sledovať rast databázy
Ak ste správcom databázy SQL a ak nemáte „SQL Server plánovanie kapacity databázy “vo svojom zozname kľúčových úloh, môžete si byť istí, že databázy na vašom serveri čoskoro vyplnia miesto na vašom disku. Sledovanie veľkosti a rastu databáz SQL je jednou z hlavných úloh plánovania kapacity. To tiež zaisťuje, že na disku je dostatok miesta na to, aby mohli rásť vaše databázy.
DIY pomocou SQL Script a Excel
V tomto článku použijeme na zachytenie veľkosti databáz SQL spolu so vzorom SQL a Excel. To nám umožní naplánovať bezprostredné vesmírne požiadavky a tiež nám pomôže pochopiť časovú os, počas ktorej je veľký objem.
Tento proces je rozdelený do štyroch rôznych krokov, aby ste ho mohli bez problémov nasledovať.
Krok 1: Spustite tento skript v novom okne dotazu.
Výstup bude mať názvy databáz ako hlavičky riadkov a mesiac ako hlavičky stĺpcov. Hodnoty zobrazené na výstupe sú veľkosť databázy 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
Výkon :
Krok 2: Vytvorte novú inštanciu programu Excel a skopírujte výstup z predchádzajúceho kroku do nového hárka programu Excel.
Krok 3: Teraz vyberte prvé dva riadky na hárku a vložte 2D čiarový graf.
Týmto sa vytvorí trendový graf pre vybranú databázu. V grafe bude os X označovať mesiace a os Y veľkosť databázy v GB.
Krok 4: Vyberte všetky údaje tak, že ich obalíte presunutím symbolu „plus“.
Zobrazí sa trend všetkých databáz v grafe.
Ak preskočíte krok 3 a vložíte čiarový graf 2D výberom celej tabuľky, stále sa vám zobrazí graf, ale os X bude namiesto mesiaca označovať názvy databáz. Toto nie je požadovaný výstup.
Výstupná tabuľka môže mať niektoré hodnoty NULL. Stáva sa to preto, že história zálohovania databázy nemusí mať pre daný mesiac žiadny záznam pre databázu. To tiež znamená, že skript odkazuje na veľkosť zálohy v tabuľke histórie zálohovania, aby mohol sledovať rastový trend. Ak niektorá z vašich databáz nie je zahrnutá v pláne zálohovania, výstupná tabuľka bude stále obsahovať názov databázy, ale hodnoty pre všetky mesiace budú NULL
Opravte nadrozmernú databázu
Ak v minulosti nebudete postupovať podľa vyššie uvedenej stratégie a vaša databáza je predimenzovaná, môže to spôsobiť rôzne problémy. V takom prípade radšej vyhľadajte a SQL Server nástroj na obnovu súborov efektívne a efektívne vyriešiť problém.
Úvod autora:
Neil Varley je odborníkom na obnovu dát v odbore DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť problém s programom Outlook a vynikajúce softvérové produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S





