Qanday Yaxshi
Download 1.38 Mb.
|
MS SQL ZAXIRA NUSXASI AVTOMATIK RAVISHDA FAYLGA. MS SQL SERVER MA'LUMOTLAR BAZASINING MUNTAZAM ZAXIRA NUSXASINI O'RNATISH
- Bu sahifa navigatsiya:
- Toliq model
- Malumotlar bazasining toliq nusxasi
- Malumotlar bazasining differentsial nusxasi
- Tranzaksiyalar jurnalining zaxira nusxasi
Oddiy model faqat ma'lumotlar bazasini zaxiralashni nazarda tutadi, biz ma'lumotlar bazasining holatini faqat zaxiralash paytida tiklashimiz mumkin, oxirgi zaxira nusxasini yaratish va ishlamay qolish vaqt oralig'idagi barcha o'zgarishlar yo'qoladi. Shu bilan birga, oddiy sxema kichik xarajatlarga ega: ma'lumotlar bazasining nusxalarini saqlashingiz kerak, tranzaksiyalar jurnali avtomatik ravishda qisqartiriladi va hajmi kattalashmaydi. Bundan tashqari, tiklash jarayoni eng sodda va ko'p vaqt talab qilmaydi. To'liq model ma'lumotlar bazasini istalgan o'zboshimchalik bilan tiklashga imkon beradi, ammo ma'lumotlar bazasining zaxira nusxasini yaratish bilan bir qatorda operatsiyalar jurnalining nusxalarini tiklashni talab qilishi mumkin bo'lgan butun davr uchun saqlashni talab qiladi. Ma'lumotlar bazasi bilan faol ishlashda tranzaksiyalar jurnalining hajmi va binobarin, arxivlar hajmi katta hajmlarga ega bo'lishi mumkin. Qayta tiklash jarayoni ham ancha murakkab va ko'p vaqt talab etadi. Qayta tiklash modelini tanlashda siz tiklash xarajatlarini zaxira nusxalarini saqlash xarajatlari bilan taqqoslashingiz kerak, shuningdek tiklashni amalga oshiradigan xodimlarning mavjudligi va malakasini hisobga olishingiz kerak. To'liq model bilan tiklanish xodimlardan ma'lum malakalarni va bilimlarni talab qiladi, oddiy sxema bo'yicha esa ko'rsatmalarga amal qilish kifoya. Ma'lumotlar oz miqdorda qo'shilgan ma'lumotlar bazalari uchun nusxa ko'chirish chastotasi yuqori bo'lgan oddiy modeldan foydalanish yanada foydali bo'lishi mumkin, bu sizga tezda tiklanish va yo'qolgan ma'lumotlarni qo'lda kiritish orqali ishlashni davom ettirish imkonini beradi. To'liq model, birinchi navbatda, ma'lumotlarning yo'qolishi qabul qilinishi mumkin bo'lmagan joylarda ishlatilishi kerak va uning tiklanishi mumkin bo'lgan xarajatlar bilan bog'liq. ZAXIRA NUSXALARINING TURLARI Ma'lumotlar bazasining to'liq nusxasi - uning nomidan ko'rinib turibdiki, bu ma'lumotlar bazasi tarkibini va zaxira nusxasini yaratish vaqtidagi faol operatsiyalar jurnalining bir qismini aks ettiradi (ya'ni barcha joriy va to'liq bo'lmagan bitimlar to'g'risida ma'lumot). Zaxiralash paytida ma'lumotlar bazasini to'liq tiklashga imkon beradi. Ma'lumotlar bazasining differentsial nusxasi - to'liq nusxada bitta muhim kamchilik mavjud, u ma'lumotlar bazasidagi barcha ma'lumotlarni o'z ichiga oladi. Agar siz tez-tez zaxira nusxalarini yaratishingiz kerak bo'lsa, unda darhol diskdagi bo'sh joyni behuda sarflash kerak degan savol tug'iladi, chunki aksariyat omborlar bir xil ma'lumotlarga ega bo'ladi. Ushbu kamchilikni bartaraf etish uchun siz ma'lumotlar bazasining differentsial nusxalaridan foydalanishingiz mumkin, ular faqat oxirgi to'liq nusxadan beri o'zgargan ma'lumotlarni o'z ichiga oladi. Iltimos, iltimos, farqli nusxa oxirgi marta olingan ma'lumotlar to'liq nusxalash, ya'ni har bir keyingi differentsial nusxada avvalgisining ma'lumotlari mavjud (lekin shu bilan birga ularni o'zgartirish mumkin) va nusxa hajmi doimiy ravishda o'sib boradi. Qayta tiklash uchun bitta to'liq va bitta differentsial zaxira, odatda eng so'nggi. Differentsial nusxalar sonini ularning kattalashishiga qarab tanlab olish kerak, agar differentsial nusxaning hajmi to'liq hajmning yarmiga teng bo'lsa, yangi to'liq nusxasini yaratish mantiqan. Tranzaksiyalar jurnalining zaxira nusxasi - faqat to'liq tiklash modeliga taalluqlidir va oldingi nusxasi yaratilganidan beri tranzaksiyalar jurnalining nusxasini o'z ichiga oladi. Quyidagi fikrni yodda tutish juda muhim - tranzaksiyalar jurnalining nusxalari ma'lumotlar bazasi nusxalari bilan hech qanday bog'liq emas va oldingi nusxalardagi ma'lumotlarni o'z ichiga olmaydi, shuning uchun ma'lumotlar bazasini qayta tiklash uchun siz ma'lumotlar bazasining holatini qaytarib olishni xohlagan davr uchun doimiy nusxalar zanjiriga ega bo'lishingiz kerak. Bunday holda, so'nggi muvaffaqiyatli nusxa ko'chirish momenti ushbu muddat ichida bo'lishi kerak. Yuqoridagi rasmga qaraylik, agar jurnal jurnalining birinchi nusxasi yo'qolgan bo'lsa, unda ma'lumotlar bazasini faqat to'liq nusxalash paytida tiklashingiz mumkin, bu oddiy tiklash modeliga o'xshash bo'ladi, ma'lumotlar bazasining holatini istalgan vaqtgacha faqat keyingi differentsial (yoki to'liq) nusxadan keyin tiklashingiz mumkin. , bazani nusxalashdan oldingi nusxadan boshlab va undan keyin uzluksiz bo'lishi sharti bilan (rasmda - uchinchi qismdan boshlab).
Qayta tiklash jarayonlarini va har xil turdagi zaxira nusxalarining maqsadlarini tushunish uchun siz operatsiyalar jurnalining tuzilishi va ishlashini batafsil ko'rib chiqishingiz kerak. Tranzaksiya - bu mantiqiy va faqat to'liq bajarilishi mumkin bo'lgan eng kichik mantiqiy operatsiya. Ushbu yondashuv barcha holatlarda ma'lumotlarning yaxlitligi va izchilligini ta'minlaydi, chunki operatsiyaning oraliq holati qabul qilinishi mumkin emas. Tranzaksiyalar jurnali ma'lumotlar bazasidagi har qanday o'zgarishlarni boshqarish uchun mo'ljallangan. Har qanday operatsiyani bajarishda tranzaksiyalar jurnaliga bitim boshlanganligi to'g'risidagi yozuv qo'shiladi, har bir yozuvga uzluksiz ketma-ketlikdan yagona raqam (LSN) beriladi, har doim ma'lumotlar o'zgarganda tegishli yozuv jurnalga kiritiladi va operatsiya tugagandan so'ng jurnalda bitimni yopish (majburiyat) belgisi paydo bo'ladi. Har bir ishga tushirishda tizim tranzaktsiyalar jurnalini tahlil qiladi va barcha tuzilmagan tranzaktsiyalarni qaytarib beradi; shu bilan birga jurnalda sodir bo'lgan, lekin diskka yozilmagan o'zgarishlarni aylantiradi. Bu zaxira quvvat tizimlari bo'lmagan taqdirda ham ma'lumotlar yaxlitligi haqida qayg'urmasdan keshlash va dangasa yozuvlardan foydalanishga imkon beradi. Jurnalning faol operatsiyalarni o'z ichiga olgan va ma'lumotlarni qayta tiklash uchun foydalaniladigan qismi jurnalning faol qismi deb ataladi. Minimal Recovery Number (MinLSN) deb nomlangan raqamdan boshlanadi. Oddiy holatda, MinLSN - bu birinchi bajarilmagan bitimning rekord raqami. Agar siz yuqoridagi rasmga qarasangiz, unda ko'k operatsiyani ochish orqali biz 321 ga teng MinLSN-ni olamiz, u 324-yozuvda qayd etilgandan so'ng, MinLSN raqami 323-ga o'zgaradi, bu yashil, hali qilinmagan bitim soniga to'g'ri keladi. Amalda hamma narsa biroz murakkabroq, masalan, yopiq ko'k tranzaksiya ma'lumotlari hali diskka ulanmagan bo'lishi mumkin va MinLSN-ni 323 ga ko'chirish ushbu operatsiyani tiklashni imkonsiz qiladi. Bunday holatni oldini olish uchun nazorat punkti tushunchasi kiritildi. Quyidagi shartlar bajarilganda nazorat punkti avtomatik ravishda yaratiladi: CHECKPOINT bayonotini aniq bajarishda. Tekshirish punkti joriy ulanish ma'lumotlar bazasida ishlaydi. Ma'lumotlar bazasida minimal ro'yxatga olingan operatsiyani bajarishda, masalan, ommaviy ro'yxatga olingan tiklash modeli bilan qamrab olingan ma'lumotlar bazasida ommaviy nusxalash operatsiyasini bajarishda. ALTER DATABASE operatori yordamida ma'lumotlar bazasi fayllarini qo'shganda yoki olib tashlayotganda. SHUTDOWN iborasi yordamida SQL Server nusxasini to'xtatganda yoki SQL Server xizmatini (MSSQLSERVER) to'xtatganda. Ikkala holatda ham SQL Server misolida har bir ma'lumotlar bazasi uchun nazorat punkti yaratiladi. Agar SQL Server misoli vaqti-vaqti bilan ma'lumotlar bazasini tiklash vaqtini qisqartirish uchun har bir ma'lumotlar bazasida avtomatik tekshiruv punktlarini yaratsa. Ma'lumotlar bazasining zaxira nusxasini yaratishda. Ma'lumotlar bazasini o'chirishni talab qiladigan amalni bajarishda. Bunga AUTO_CLOSE parametrini ON holatiga o'rnatish va foydalanuvchining ma'lumotlar bazasiga so'nggi ulanishini yopish yoki ma'lumotlar bazasini qayta ishga tushirishni talab qiladigan ma'lumotlar bazasi parametrlarini o'zgartirish kiradi. Qaysi voqea oldinroq sodir bo'lganiga qarab, MinLSN-ga nazorat punktining yozuv raqami yoki kutilayotgan eng eski operatsiyani boshlash qiymati beriladi. TRANZAKSIYALAR JURNALINI QISQARTIRISH Tranzaksiyalar jurnali, har qanday jurnal kabi, eskirgan yozuvlarni vaqti-vaqti bilan tozalashni talab qiladi, aks holda u o'sadi va mavjud bo'lgan barcha joylarni egallaydi. Ma'lumotlar bazasi bilan faol ishlash jarayonida tranzaksiyalar jurnalining hajmi ma'lumotlar bazasidan sezilarli darajada oshib ketishi mumkinligini hisobga olsak, bu masala ko'plab ma'murlar uchun dolzarbdir. Jismoniy jihatdan, tranzaktsiyalar jurnali fayli virtual jurnallar uchun konteyner bo'lib, ular jurnal o'sishi bilan ketma-ket to'ldiriladi. MinLSN yozuvini o'z ichiga olgan mantiqiy jurnal faol jurnalning boshlanishi, undan oldingi mantiqiy jurnallar faol emas va ma'lumotlar bazasini avtomatik ravishda tiklash uchun talab qilinmaydi. Agar oddiy qutqarish modeli tanlangan bo'lsa, unda mantiqiy jurnallar jismoniy faylning 70 foiziga teng bo'lgan hajmga yetganda, jurnalning faol bo'lmagan qismi avtomatik ravishda tozalanadi. qisqartirish. Biroq, bu jismoniy jurnal faylini kamaytirmaydi, faqat mantiqiy jurnallar qisqartiriladi va ushbu operatsiyadan keyin qayta foydalanish mumkin. Agar tranzaksiyalar soni ko'p bo'lsa va fizik fayl hajmining 70% ga yetguncha harakatsiz mantiqiy jurnallar mavjud bo'lmasa, unda fizik fayl hajmi kattalashadi. Shunday qilib, oddiy qutqaruv modeliga ega tranzaktsiyalar jurnali ma'lumotlar bazasi bilan ishlash faolligiga qarab, jurnalning barcha faol qismini ishonchli tarzda o'z ichiga olguncha o'sib boradi. Shundan so'ng uning o'sishi to'xtaydi. To'liq model bilan jurnalning faol bo'lmagan qismini to'liq zaxira nusxasini olmaguncha qisqartirish mumkin emas. Jurnalni qisqartirish tranzaksiyalar jurnalining zaxira nusxasini yaratgan va keyin nazorat punkti yaratgan holda amalga oshiriladi. To'liq model ostida noto'g'ri tuzilgan tranzaktsiyalar jurnalining zaxira nusxalari jurnal faylining nazoratsiz o'sishiga olib kelishi mumkin, bu ko'pincha tajribasiz ma'murlar uchun muammo tug'diradi. Tranzaksiyalar jurnalini qo'lda qisqartirish bo'yicha maslahatlar ham keng tarqalgan. To'liq tiklash modeli bilan, bu qat'iyan amalga oshirilmasligi kerak, chunki bu bilan siz jurnal nusxalari zanjirining yaxlitligini buzasiz va ma'lumotlar bazasini faqat nusxalarni yaratishda tiklashingiz mumkin, bu oddiy modelga mos keladi. Bunday holda, maqolaning boshida nima haqida suhbatlashganimizni eslash vaqti keldi, agar to'liq modeldagi xarajatlar qayta tiklash xarajatlaridan oshsa, siz oddiy modelga ustunlik berishingiz kerak. ODDIY TIKLASH MODELI Endi, kerakli minimal bilimlarni olganingizdan so'ng, siz tiklash modellarini batafsil ko'rib chiqishga o'tishingiz mumkin. Keling, sodda bilan boshlaymiz. Aytaylik, halokat paytida bizda bitta to'liq va ikkita differentsial nusxa bor: Zaxira kuniga bir marta amalga oshirildi va oxirgi nusxasi kechasi 21 dan 22 gacha yaratildi. Hodisa keyingi nusxasi yaratilishidan oldin 22-kuni kechqurun sodir bo'ladi. Bunday holda biz to'liq va oxirgi differentsial nusxalarni ketma-ket tiklashimiz kerak bo'ladi va oxirgi ish kuni uchun ma'lumotlar yo'qoladi. Agar biron bir sababga ko'ra 21-chi nusxa ham buzilgan bo'lib chiqsa, biz boshqa nusxadagi ish kunini yo'qotib, oldingi nusxani qayta tiklashimiz mumkin, shu bilan birga 20-chi nusxada zarar etkazish hech qanday tarzda 21-kuni kechqurun ma'lumotlarni qayta tiklashga xalaqit bermaydi. tegishli nusxaning mavjudligi. TO'LIQ TIKLASH MODELI Shunga o'xshash vaziyatni ko'rib chiqing, ammo to'liq tiklash modelidan foydalaning. To'liq + differentsial printsipga muvofiq biz har kuni zaxira nusxalarini yaratamiz va tranzaksiyalar jurnali kuniga bir necha marta ko'chiriladi. Bunday holda tiklash jarayoni yanada murakkablashadi. Avvalo, siz oxirgi jurnal qismining zaxira nusxasini (qizil bilan ko'rsatilgan) qo'lda yaratishingiz kerak bo'ladi, ya'ni. oxirgi nusxa ko'chirishdan avtohalokatga qadar jurnalning bir qismi. Agar bu bajarilmasa, ma'lumotlar bazasini faqat tranzaktsiyalar jurnalining oxirgi nusxasi olingan holatga qaytarish mumkin. Shu bilan birga, oldingi kun uchun jurnaldan nusxa ko'chirish faylining buzilishi ma'lumotlar bazasining hozirgi holatini tiklashimizga to'sqinlik qilmaydi, aksincha bizni oxirgi nusxasini yaratish paytigacha cheklaydi. joriy kunlar. So'ngra biz to'liq va differentsial nusxani va oxirgi zaxira nusxasidan keyin yaratilgan jurnal nusxalari zanjirini ketma-ket tiklaymiz, so'nggisini oxirgi jurnal fragmentining nusxasini tiklaymiz, bu bizga tabiiy ofat paytida yoki undan oldin o'zboshimchalik bilan ma'lumotlar bazasini tiklash imkoniyatini beradi. Agar oxirgi differentsial nusxa buzilgan bo'lsa, unda oddiy modelda bu yana bitta ish kunining yo'qolishiga olib keladi, to'liq model sizga oldingi nusxani tiklashga imkon beradi, shundan so'ng tranzaksiyalar jurnalining barcha nusxalari zanjirini oldingi nusxadan boshlab muvaffaqiyatsizlikka qadar tiklashingiz kerak bo'ladi. Qayta tiklanish chuqurligi faqat loglarning uzluksiz zanjiri chuqurligiga bog'liq. Boshqa tomondan, agar bitimlar jurnalining nusxalaridan biri, masalan, oldingi muddat buzilgan bo'lsa, biz ma'lumotlarni faqat oxirgi zaxiralash paytida + jurnal nusxalarining buzilmagan zanjiridagi davrda tiklashimiz mumkin bo'ladi. Masalan, agar jurnallar soat 12, 14 va 16 da tuzilgan bo'lsa va soat 14 da tuzilgan jurnal buzilgan bo'lsa, unda kunlik nusxaga ega bo'lsak, biz ma'lumotlar bazasini uzluksiz zanjirning oxirigacha tiklashimiz mumkin, ya'ni. soat 12 ga qadar. "Kim ma'lumotga egalik qiladi - u dunyoga egalik qiladi" - Mayer Amshel Rotshild Har qanday biznesning eng qimmatli sub'ekti bu ma'lumotdir. Axborotni yo'qotish, oldindan aytib bo'lmaydigan oqibatlarga olib kelishi mumkin, asosan moliyaviy. Shuning uchun IT-mutaxassislarning asosiy vazifalaridan biri bu butun AT infratuzilmasini zaxiralashdir. Bu MS SQL Server ma'lumotlar bazalariga ham tegishli. Amaldagi ma'lumotlar bazalaridagi ma'lumotlarning xavfsizligini ta'minlash, shuningdek ishlashga yaroqliligini tiklash vaqtini qisqartirish uchun SQL-serverlarning vaqti-vaqti bilan zaxira nusxalarini yaratish kerak. Eng oddiy misolni ko'rib chiqamiz: ma'lumotlar bazasining zaxira nusxasini alohida diskka o'rnatishingiz kerak. Qaror:
Biz ochamiz Download 1.38 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling