Qanday nazorat qilish kerak SQL Server TSQL va Excel yordamida ma'lumotlar bazasi o'sishi

Hozir ulashing:

Ma'lumotlar bazasi o'sishini kuzatish server resursini rejalashtirishda asosiy omil hisoblanadi. Ushbu skriptdan foydalaning va tushunarli ma'lumotlar bazasi o'sishi hisobotini yarating

Nima uchun ma'lumotlar bazasi o'sishini kuzatishingiz kerak

Agar siz SQL ma'lumotlar bazasi ma'muri bo'lsangiz va sizda "bo'lmasa"SQL Server Asosiy vazifalar ro'yxatida ma'lumotlar bazasi hajmini rejalashtirish" bo'lsa, serveringizdagi ma'lumotlar bazalari tezda diskdagi bo'sh joyingizni to'ldirishiga amin bo'lishingiz mumkin. SQL ma'lumotlar bazalarining hajmi va o'sishini kuzatish imkoniyatlarni rejalashtirishning asosiy vazifalaridan biridir. Bu sizning ma'lumotlar bazalaringiz o'sishi uchun diskda etarli joy mavjudligini ham ta'minlaydi.

SQL Script va Excel orqali DIY

Ushbu maqolada biz SQL ma'lumotlar bazasi hajmini naqsh bilan birga olish uchun SQL va Exceldan foydalanamiz. Bu bizga yaqinlashib kelayotgan kosmik talablarni rejalashtirish imkonini beradi va shuningdek, katta hajm mavjud bo'lgan vaqt jadvalini tushunishga yordam beradi.

Ushbu jarayon to'rt xil bosqichga bo'lingan, shunda siz hech qanday muammosiz amal qilishingiz mumkin.

1-qadam: Ushbu skriptni yangi so'rov oynasida bajaring.

Chiqarishda satr sarlavhalari sifatida ma'lumotlar bazasi nomlari va Ustun sarlavhalari sifatida oy bo'ladi. Chiqishda ko'rsatilgan qiymatlar Gbdagi ma'lumotlar bazasi hajmi.

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

Chiqish:Chiqish ma'lumotlar bazasi hajmi

2-qadam: Excelning yangi nusxasini yarating va oldingi bosqichdagi natijalarni yangi Excel varag'ingizga nusxalang.

Chiqishni Excel varag'iga nusxalash

3-qadam: Endi varaqdagi dastlabki ikkita qatorni tanlang va 2D chiziqli diagrammani kiriting.

Bu tanlangan ma'lumotlar bazasi uchun trend jadvalini yaratadi. Diagrammada X o'qi oylarni, Y o'qi esa GB dagi ma'lumotlar bazasi hajmini bildiradi.Varaqdagi birinchi ikki qatorni tanlang va 2D chiziqli diagrammani kiriting

4-qadam: “Plyus” belgisini oʻrab olish orqali butun maʼlumotlarni tanlang.

Bu grafikdagi barcha ma'lumotlar bazalarining tendentsiyasini ko'rsatadi.Butun ma'lumotni tanlang

Grafikdagi barcha ma'lumotlar bazalarining trendini ko'rsating

Agar siz 3-bosqichni o'tkazib yuborsangiz va butun jadvalni tanlab 2D chiziqli diagramma qo'shsangiz, siz hali ham diagramma olasiz, lekin X o'qi Oy o'rniga ma'lumotlar bazasi nomlarini bildiradi, bu kerakli natija emas.3-bosqichni o'tkazib yuboring va butun jadvalni tanlab, 2D chiziqli diagrammani kiriting

Chiqish jadvali ba'zi NULL qiymatlarga ega bo'lishi mumkin. Buning sababi, ma'lumotlar bazasini zaxiralash tarixida ma'lum bir oy uchun ma'lumotlar bazasi uchun hech qanday yozuv bo'lmasligi mumkin. Bu, shuningdek, skript o'sish tendentsiyasini kuzatish uchun zaxira tarixi jadvalidagi zaxira hajmiga ishora qiladi. Agar ma'lumotlar bazalaringizdan birontasi zaxira rejasiga kiritilmagan bo'lsa, Chiqish jadvali ma'lumotlar bazasi nomini saqlab qoladi, lekin barcha oylar uchun qiymatlar NULL bo'ladi.

Katta o'lchamli ma'lumotlar bazasini tuzatish

Agar siz o'tmishda yuqoridagi strategiyaga amal qilmagan bo'lsangiz va ma'lumotlar bazasi hajmi katta bo'lsa, u turli muammolarni keltirib chiqarishi mumkin. Bunday holda, siz topsangiz yaxshi bo'ladi SQL Server faylni tiklash vositasi muammoni samarali va samarali hal qilish.

Muallif kirish:

Neil Varli - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc Outlook muammosini tuzatish va excel tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.