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:
2-qadam: Excelning yangi nusxasini yarating va oldingi bosqichdagi natijalarni yangi Excel varag'ingizga nusxalang.
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.
4-qadam: “Plyus” belgisini oʻrab olish orqali butun maʼlumotlarni tanlang.
Bu grafikdagi barcha ma'lumotlar bazalarining tendentsiyasini ko'rsatadi.
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.
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





