Ինչպես վերահսկել SQL Server Տվյալների բազայի աճ՝ օգտագործելով TSQL և Excel

Կիսվել հիմա ՝

Տվյալների բազայի աճի մոնիտորինգը առանցքային գործոն է սերվերի ռեսուրսի պլանավորման համար: Օգտագործեք այս սցենարը և ստեղծեք հեշտ հասկանալի տվյալների բազայի աճի հաշվետվություն

Ինչու՞ պետք է վերահսկել տվյալների բազայի աճը

Եթե ​​դուք SQL տվյալների բազայի ադմինիստրատոր եք և եթե չունեք «SQL Server տվյալների բազայի կարողությունների պլանավորում» ձեր հիմնական առաջադրանքների ցանկում, ապա կարող եք վստահ լինել, որ ձեր սերվերի տվյալների բազաները շուտով կլցնեն ձեր սկավառակի տարածքը: SQL տվյալների բազաների չափին և աճին հետևելը Capacity պլանավորման առաջնային խնդիրներից մեկն է: Սա նաև ապահովում է, որ սկավառակի վրա բավականաչափ տարածություն կա ձեր տվյալների բազաների աճի համար:

DIY SQL Script-ի և Excel-ի միջոցով

Այս հոդվածում մենք կօգտագործենք SQL և Excel՝ SQL տվյալների բազաների չափը օրինաչափության հետ միասին գրավելու համար: Սա մեզ հնարավորություն կտա պլանավորել մոտալուտ տարածության պահանջները և նաև կօգնի մեզ հասկանալ ժամանակացույցը, որի ընթացքում մեծ ծավալ կա:

Այս գործընթացը բաժանված է չորս տարբեր քայլերի, որպեսզի դուք կարողանաք հետևել առանց որևէ դժվարության:

Քայլ 1. Կատարեք այս սցենարը նոր հարցման պատուհանում:

Արդյունքը կունենա տվյալների բազայի անվանումներ՝ որպես տողերի վերնագրեր, իսկ ամիսը՝ որպես սյունակների վերնագրեր: Արդյունքներում ցուցադրված արժեքները տվյալների բազայի չափն են ԳԲ-ով:

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

Արդյունք.Ելքային տվյալների բազայի չափը

Քայլ 2. Ստեղծեք Excel-ի նոր օրինակ և պատճենեք նախորդ քայլի արդյունքը ձեր նոր Excel թերթում:

Արդյունքը պատճենեք Excel թերթիկի մեջ

Քայլ 3. Այժմ ընտրեք թերթի առաջին երկու տողերը և տեղադրեք 2D գծային գծապատկեր:

Սա կստեղծի ընտրված տվյալների բազայի միտումների աղյուսակը: Գծապատկերում X Axis-ը կնշանակի ամիսներ, իսկ Y Axis-ը կնշանակի տվյալների բազայի չափը ԳԲ-ով:Ընտրեք առաջին երկու տողերը թերթիկի վրա և տեղադրեք 2D գծային գծապատկեր

Քայլ 4. Ընտրեք ամբողջ տվյալները՝ քաշելով «գումարած» նշանը՝ դրանք ծածկելու համար:

Սա ցույց կտա գծապատկերում բոլոր տվյալների բազաների միտումը:Ընտրեք Ամբողջական տվյալները

Ցույց տալ բոլոր տվյալների բազաների միտումը գծապատկերում

Եթե ​​բաց թողնեք 3-րդ քայլը և տեղադրեք 2D գծային գծապատկեր՝ ընտրելով ամբողջ աղյուսակը, դուք դեռ կստանաք գծապատկեր, սակայն X առանցքը Ամիսի փոխարեն կնշանակի տվյալների բազայի անունները, սա պահանջվող արդյունքը չէ:Բաց թողեք քայլ 3-ը և տեղադրեք 2D գծային գծապատկեր՝ ընտրելով ամբողջ աղյուսակը

Արդյունք աղյուսակը կարող է ունենալ որոշ NULL արժեքներ: Դա տեղի է ունենում, քանի որ տվյալների բազայի կրկնօրինակման պատմությունը կարող է տվյալ ամսվա տվյալների բազայի համար որևէ գրառում չունենալ: Դա նաև ենթադրում է, որ սցենարը վերաբերում է կրկնօրինակի չափին պահուստավորման պատմության աղյուսակում՝ աճի միտումը հետևելու համար: Եթե ​​ձեր տվյալների բազաներից որևէ մեկը ներառված չէ պահեստային պլանում, Արդյունք աղյուսակը դեռևս կպահի տվյալների բազայի անունը, բայց բոլոր ամիսների արժեքները կլինեն NULL:

Ուղղել չափազանց մեծ տվյալների բազան

Եթե ​​նախկինում չեք հետևում վերը նշված ռազմավարությանը, և ձեր տվյալների բազան չափազանց մեծ է, ապա դա կարող է տարբեր խնդիրներ առաջացնել: Նման դեպքում ավելի լավ է գտնել ա SQL Server ֆայլերի վերականգնման գործիք խնդիրը արդյունավետ և արդյունավետ լուծելու համար:

Հեղինակի ներածություն.

Նիլ Վարլին տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում վերանորոգել Outlook-ի խնդիրը և գերազանցել վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com

Կիսվել հիմա ՝

Comments փակվում են: