Paano Subaybayan SQL Server Paglago ng Database gamit ang TSQL at Excel

Ipamahagi ngayon:

Ang pagsubaybay sa paglago ng database ay isang pangunahing kadahilanan sa pagpaplano ng mapagkukunan ng isang server. Gamitin ang script na ito at lumikha ng madaling maunawaan ang ulat sa paglago ng database

Bakit Kailangan Mong Subaybayan ang Paglago ng Database

Kung ikaw ay isang administrator ng SQL Database at kung wala kang "SQL Server pagpaplano ng kapasidad ng database ”sa iyong pangunahing listahan ng gawain, pagkatapos ay makakatiyak ka na ang mga database sa iyong server ay pupunan ang iyong disk space sa lalong madaling panahon. Ang pagsubaybay sa laki at paglaki ng mga database ng SQL ay isa sa pangunahing gawain ng pagpaplano ng Kapasidad. Tinitiyak din nito na may sapat na puwang sa disk para lumaki ang iyong mga database.

DIY sa pamamagitan ng SQL Script at Excel

Sa artikulong ito, gagamitin namin ang SQL at Excel upang makuha ang laki ng mga database ng SQL kasama ang pattern. Ito ay magbibigay-daan sa amin upang magplano para sa mga hindi kinakailangang kinakailangan sa puwang at makakatulong din sa amin na maunawaan ang timeline kung saan mayroong isang mabibigat na lakas ng tunog.

Ang prosesong ito ay nahahati sa apat na magkakaibang mga hakbang upang maaari mong sundin nang walang anumang problema.

Hakbang 1: Ipatupad ang script na ito sa isang bagong window ng query.

Ang output ay magkakaroon ng mga pangalan ng database bilang mga header ng hilera at Buwan bilang mga header ng Column. Ang mga halagang ipinapakita sa output ay sukat ng database sa 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

Output:Laki ng Database ng Output

Hakbang 2: Lumikha ng isang bagong halimbawa ng Excel, at kopyahin ang Output mula sa nakaraang hakbang sa iyong bagong sheet ng Excel.

Kopyahin Ang Output Sa Excel Sheet

Hakbang 3: Ngayon piliin muna ang dalawang mga hilera sa sheet at ipasok ang isang tsart ng linya ng 2D.

Lilikha nito ang tsart ng trend para sa napiling database. Sa Tsart, ang X Axis ay magpapahiwatig ng mga buwan at ang Y Axis ay magpapahiwatig ng laki ng database sa GB.Piliin ang Unang Dalawang Rows Sa Sheet At Magsingit ng Isang 2D Chart na Linya

Hakbang 4: Piliin ang buong data sa pamamagitan ng pag-drag sa simbolong 'plus' upang ibalot ito.

Ipapakita nito ang takbo ng lahat ng mga database sa tsart.Piliin ang Buong Data

Ipakita ang Uso Ng Lahat ng Mga Database Sa Tsart

Kung laktawan mo ang Hakbang 3 at ipasok ang isang tsart ng linya ng 2D sa pamamagitan ng pagpili sa buong talahanayan, makakakuha ka pa rin ng isang tsart ngunit ang axis ng X ay magpahiwatig ng mga pangalan ng Database sa halip na Buwan, Hindi ito ang kinakailangang output.Laktawan ang Hakbang 3 At Magsingit ng Isang Tsart ng 2D na Linya Sa pamamagitan ng Pagpili ng Buong Talahanayan

Ang talahanayan ng Output ay maaaring may ilang mga halagang NULL. Nangyayari ito dahil ang kasaysayan ng pag-backup ng database ay maaaring walang anumang tala para sa database para sa partikular na buwan. Ipinapahiwatig din nito na ang script ay tumutukoy sa laki ng pag-backup sa talahanayan ng backup na kasaysayan upang subaybayan ang takbo ng paglago. Kung ang alinman sa iyong mga database ay hindi kasama sa backup na plano, ang talahanayan ng Output ay mananatili pa rin sa pangalan ng database ngunit ang mga halaga para sa lahat ng buwan ay magiging NULO

Ayusin ang Oversized Database

Kung hindi mo sundin ang diskarte sa itaas sa nakaraan, at ang iyong database ay malalaki, kung gayon maaari itong maging sanhi ng iba't ibang mga problema. Sa ganitong kaso, mas mabuti kang maghanap ng SQL Server tool ng pagbawi ng file upang malutas ang problema nang mabisa at mahusay.

Panimula ng May-akda:

Si Neil Varley ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang ayusin ang problema sa Outlook at excel mga produkto ng pagbawi ng software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.