SQL Server ma'lumotlar bazasi tiklash rejimida? 10 ta isbotlangan tuzatishni hozir oling! Oson tuzatishdan ilg'or ta'mirlashgacha bosqichma-bosqich echimlar.
1. Tushunish SQL Server Ma'lumotlar bazasini tiklash rejimi
1.1 Qayta tiklash rejimi nimada SQL Server
A SQL Server ma'lumotlar bazasi "Qayta tiklashda" holatini ko'rsatadi, bu degani SQL Server maʼlumotlar bazasining mustahkamligini taʼminlash uchun nosozlikni tiklash yoki tranzaksiyani tiklashni amalga oshirmoqda. Ushbu avtomatik jarayon bajarilgan tranzaksiyalarni takrorlash va bajarilmaganlarini qaytarish orqali ma'lumotlar yaxlitligini saqlaydi.
Qayta tiklash rejimi odatda kutilmagan o'chirishlar, quvvat uzilishlari yoki ma'lumotlar bazasini tiklash paytida sodir bo'ladi. Bu oddiy himoya mexanizmi bo'lsa-da, muammolar paydo bo'lganda SQL Server tiklashdagi ma'lumotlar bazasi juda uzoq davom etadi yoki tiqilib qolgan ko'rinadi.
1.2 Ma'lumotlar bazasini qayta tiklashning uch bosqichi
SQL Server Qayta tiklash uch bosqichdan iborat:
1.2.1 Tahlil bosqichi
SQL Server iflos sahifalar va faol tranzaktsiyalarni aniqlash uchun oxirgi nazorat punktidan tranzaksiya jurnalini skanerlaydi. Qayta tiklash kerak bo'lgan narsalarni kuzatish uchun iflos sahifalar jadvalini (DPT) va faol tranzaktsiyalar jadvalini (ATT) yaratadi.
1.2.2 Fazani takrorlash (oldinga siljitish)
Tizim buzilishdan oldin diskka yozilmagan barcha bajarilgan tranzaksiyalarni takrorlaydi. Bu barcha kiritilgan o'zgarishlar ma'lumotlar bazasi fayllariga to'g'ri qo'llanilishini ta'minlaydi.
1.2.3 Bekor qilish bosqichi (orqaga qaytarish)
Har qanday bajarilmagan tranzaktsiyalar ma'lumotlar bazasi barqarorligini ta'minlash uchun orqaga qaytariladi. Tugallangach, ma'lumotlar bazasi oddiy operatsiyalar uchun mavjud bo'ladi.
1.3 Umumiy simptomlar va xato xabarlari
Qachon sizning SQL Server db qayta tiklansa, odatda quyidagilarni ko'rasiz:
- "(Qayta tiklashda)" ko'rsatilgan ma'lumotlar bazasi nomi SQL Server Boshqaruv studiyasi
- "Ma'lumotlar bazasi tiklanmoqda" xabarlari bilan tizimga kirishda xatolar
- Qayta tiklash jarayoni foizlarini ko'rsatadigan xatolar jurnali yozuvlari
- Maʼlumotlar bazasi holati soʻralganda “QAYTALASH” koʻrsatiladi
2. Asl sabablari SQL Server Qayta tiklash rejimi bilan bog'liq muammolar
2.1 Tugallanmagan tiklash operatsiyalari
Eng ko'p uchraydigan sabab bir nechta zaxira fayllaridan foydalanib tiklashda yuzaga keladi NORECOVERY finalsiz variant QAYTA QILISH BILAN buyruq. Bu ma'lumotlar bazasini qo'shimcha tiklash operatsiyalarini kutadi.
2.2 Tranzaksiya jurnali muammolari
Katta tranzaksiya jurnali fayllari yoki haddan tashqari virtual jurnal fayllari (VLF) tiklanishni sezilarli darajada sekinlashtiradi. MS SQL minglab VLFlar bilan tiklanayotganda, jarayon tugashi uchun bir necha soat yoki kun ketishi mumkin.
2.3 Tizim bilan bog'liq muammolar
Uskuna ishlamay qolishi, elektr uzilishlari yoki disk maydoni yetarli emasligi ma'lumotlar bazasining normal ishlashiga xalaqit berishi va qayta ishga tushirish paytida uzoq muddatli tiklash jarayonlarini boshlashi mumkin.
2.4 Ma'lumotlar bazasining buzilishi
Buzilgan ma'lumotlar bazasi fayllari qayta tiklashning muvaffaqiyatli yakunlanishiga to'sqinlik qiladi va ma'lumotlar bazasini abadiy tiklash rejimida qoldiradi.
3. Ta'mirlashdan oldin diagnostika bosqichlari
3.1 tekshirilmoqda SQL Server Xato jurnallari
Tuzatishga urinishdan oldin, tekshiring SQL Server tiklash jarayoni haqida xabarlar uchun xato jurnali. Bajarilish foizlari va qolgan taxminiy vaqtni ko'rsatadigan yozuvlarni qidiring.
- ochiq SQL Server Boshqaruv studiyasi
- Navigatsiya qiling boshqaruv -> SQL Server Qaydlar
- Ma'lumotlar bazasi nomi uchun so'nggi yozuvlarni ko'rib chiqing
- Qayta tiklash bosqichi ko'rsatkichlarini qidiring (3 fazadan 1, 2 yoki 3-bosqich)
3.2 Qayta tiklash jarayonini kuzatish
Faol tiklash operatsiyalarini kuzatish uchun dinamik boshqaruv ko'rinishlaridan foydalaning:
SELECT session_id, command, blocking_session_id, wait_type, wait_time, wait_resource FROM sys.dm_exec_requests WHERE command = 'DB STARTUP';
3.3 Ma'lumotlar bazasi holatini tekshirish
Qayta tiklash holatini tushunish uchun joriy ma'lumotlar bazasi holatini tekshiring:
SELECT name, state_desc FROM sys.databases WHERE name = 'YourDatabaseName';
4. №1 tuzatish: Tabiiy tiklanish tugashini kuting
Ba'zida sabr qilish eng yaxshi yechimdir SQL Server ma'lumotlar bazasi qayta tiklanmoqda. Ushbu yondashuv tiklanish jarayoni odatdagidek davom etayotganda, lekin kutilganidan ko'proq vaqt talab qilganda ishlaydi.
4.1 Qachon sabrli bo'lish kerak
Quyidagi hollarda tabiiy tugallanishga ruxsat bering:
- Xatolar jurnallari vaqtni qisqartirish bilan barqaror rivojlanishni ko'rsatadi
- Hech qanday korruptsiya xatosi haqida xabar berilmagan
- Ma'lumotlar bazasi yaqinda katta operatsiyalarni boshdan kechirdi
- VLF soni boshqariladi (1,000 dan kam)
4.2 Qayta tiklash jarayonini kuzatish
Xatolar jurnallarida qayta tiklash vaqti ko'pincha noto'g'ri. Qolgan vaqtdan ko'ra taraqqiyot foizlariga e'tibor qarating. Keng tranzaktsiyalar tarixiga ega bo'lgan katta ma'lumotlar bazalari to'liq tiklanishi uchun bir necha soat talab qilishi mumkin.
5. Tuzatish №2: MA'LUMOTLAR BAZASINI QIYTALASH BILAN RESTORE FOYDALANISH
Ushbu tuzatish yakuniy tiklash bosqichi o'tkazib yuborilgan to'liq bo'lmagan tiklash operatsiyalarini hal qiladi. Buni qachon ishlating SQL Server db NORECOVERY yordamida tiklash jarayoni natijasida paydo bo'ldi.
5.1 Buyruqni tushunish
The MA'LUMOTLAR BAZASINI QAYTA QILISH BILAN TIKLASH buyrug'i bajarilmagan tranzaktsiyalarni qaytarish va ma'lumotlar bazasini onlayn qilish orqali tiklash jarayonini yakunlaydi.
5.2 Amalga oshirish bosqichlari
- ochiq SQL Server Boshqaruv studiyasi
- O'zingizga ulaning SQL Server misol
- bosing Yangi > Joriy ulanish bilan so'rov
- Bajarish:
RESTORE DATABASE [YourDatabaseName] WITH RECOVERY; - Tugatishni tasdiqlashni kuting
ogohlantirish: Agar qo'shimcha tiklash operatsiyalari kutilmayotganiga ishonchingiz komil bo'lsa, ushbu buyruqdan foydalaning.
6. Tuzatish №3: Tranzaksiya jurnali muammolarini hal qilish
Tranzaksiya jurnali muammolari tiklanish vaqtini uzaytirishning asosiy sababidir. Ushbu tuzatish to'liq jurnallar, ortiqcha VLFlar va saqlanadigan jurnal maydoni muammolarini hal qiladi SQL Server tiklanishda.
6.1 Tranzaksiya jurnallarining zaxira nusxasini yaratish
Tranzaksiya jurnalining zaxira nusxalarini yaratish orqali jurnallar maydonini bo'shating:
- ochiq SQL Server Boshqaruv studiyasi
- Ma'lumotlar bazasini o'ng tugmasini bosing -> vazifalar -> Orqaga qaytish
- o'zgarish Zaxira turi uchun Tranzaksiya jurnali
- Zaxira manzilini belgilang
- bosing OK amalga oshirish
6.2 Virtual jurnal fayllarini (VLF) boshqarish
VLF sonini quyidagi bilan tekshiring:
DBCC LOGINFO('YourDatabaseName');
Agar sizda 1,000 dan ortiq VLF mavjud bo'lsa, ularni quyidagicha kamaytiring:
- Tranzaksiya jurnalining zaxira nusxasini yaratish
- Jurnal faylini qisqartirish:
DBCC SHRINKFILE(LogFileName, TRUNCATEONLY); - Jurnal faylini katta qismlarga o'stirish (1 GB yoki undan ko'p)
6.3 Jurnal fayllarini xavfsiz ravishda qisqartirish
Faol tranzaktsiyalar ishlamayotganda, faqat parvarishlash oynalarida jurnallarni qisqartiring. Operatsiyalarni qisqartirishdan oldin har doim ma'lumotlar bazasini zaxiralang.
7. №4 tuzatish: DBCC CHECKDB va ta'mirlashni ishga tushiring
Ma'lumotlar bazasining buzilishi muvaffaqiyatli tiklanishiga to'sqinlik qilishi mumkin. DBCC CHECKDB - bu MS SQL-ni tiklash rejimida ushlab turadigan kichik korruptsiya muammolarini aniqlay oladigan va tuzatadigan o'rnatilgan buyruq.
7.1 Ma'lumotlar bazasining buzilishini tekshirish
Ma'lumotlar bazasi yaxlitligini tekshirish uchun standart yondashuvdan boshlang. Avval DBCC CHECKDB ni to'g'ridan-to'g'ri sinab ko'ring:
- Bajarish:
DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS; - Natijalarni muvofiqlik xatolarini ko'rib chiqing
- Har qanday korruptsiya xabarlarini hujjatlashtiring
Agar DBCC CHECKDB bajarilmasa "Ma'lumotlar bazasi tiklanmoqda. Qayta tiklash tugaguncha kutish" kabi xatolar bilan ma'lumotlar bazasi faol ravishda tiklash rejimida va kirishni bloklaydi. Bunday holda, FAVQULODDA rejimidan foydalanish uchun 7.3-bo'limga o'ting.
7.2 Kirish mumkin bo'lgan ma'lumotlar bazalarini ta'mirlash imkoniyatlari
Agar DBCC CHECKDB muvaffaqiyatli ishlagan va buzilish aniqlangan bo'lsa, quyidagi tuzatish bosqichlaridan foydalaning:
- Ma'lumotlar bazasini bitta foydalanuvchi rejimiga o'rnating:
ALTER DATABASE [YourDatabaseName] SET SINGLE_USER; - Xavfsiz ta'mirlashga harakat qiling:
DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD); - Muvaffaqiyatsiz bo'lsa, foydalaning:
DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS); - Ko'p foydalanuvchiga qaytish:
ALTER DATABASE [YourDatabaseName] SET MULTI_USER;
7.3 Ma'lumotlar bazasiga kirish imkoni bo'lmaganda favqulodda rejimdan foydalanish
Favqulodda vaziyat rejimi faqat ma'lumotlar bazasi tiklanishda qolib ketgan va DBCC CHECKDB oddiy urinishlarini rad etganda talab qilinadi. U ma'lumotlar bazasini READ_ONLY deb belgilaydi va jurnalni o'chirib qo'yadi. Standart kirish muvaffaqiyatsiz bo'lganda ushbu yondashuvdan foydalaning:
- Favqulodda rejimni sozlash:
ALTER DATABASE [YourDatabaseName] SET EMERGENCY; - Bitta foydalanuvchini o'rnatish:
ALTER DATABASE [YourDatabaseName] SET SINGLE_USER; - Butunlikni tekshirishni bajaring:
DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS; - Agar buzilish aniqlansa, avval xavfsiz ta'mirlashni amalga oshiring:
DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD); - Muvaffaqiyatsiz bo'lsa, ma'lumotlarni yo'qotish bilan ta'mirlashdan foydalaning:
DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS); - Ko'p foydalanuvchini o'rnatish:
ALTER DATABASE [YourDatabaseName] SET MULTI_USER; - Onlayn sozlash:
ALTER DATABASE [YourDatabaseName] SET ONLINE;
muhim: FAVQULODDA rejimi normal tiklash jarayonlarini chetlab o'tadi va faqat ma'lumotlar bazasiga to'liq kirish imkoni bo'lmaganda foydalanish kerak. Favqulodda vaziyat rejimiga o‘tishdan oldin har doim standart DBCC CHECKDB yondashuvini sinab ko‘ring.
Siz topishingiz mumkin DBCC CHECKDB dan qanday foydalanish bo'yicha yanada to'liqroq qo'llanma.
8. №5 tuzatish: Zaxiradan tiklash
Boshqa usullar muvaffaqiyatsiz bo'lganda yoki ma'lumotlar yaxlitligi shubhali bo'lganda, toza zaxira nusxasidan tiklash ko'pincha muammoni hal qilishning eng ishonchli yechimidir. SQL Server tiklash masalalarida ma'lumotlar bazasi.
8.1 Zaxira tiklashni qachon tanlash kerak
Quyidagi hollarda zaxira nusxasini tiklashni ko'rib chiqing:
- Qayta tiklash jarayoni 24 soatdan ortiq davom etmadi
- Buzuq xatolar muvaffaqiyatli ta'mirlashga to'sqinlik qiladi
- Sizda oxirgi, tasdiqlangan zaxira nusxalari mavjud
- Oxirgi zahiradan beri ma'lumotlar yo'qolishi mumkin
8.2 Bosqichma-bosqich tiklash jarayoni
- ochiq SQL Server Boshqaruv studiyasi
- O'ng tugmasini bosing Ma'lumotlar bazalarini -> Ma'lumotlar bazasini tiklash
- tanlang Qurilma Manba ostida
- bosing qo'shish va zaxira faylingizni ko'rib chiqing
- Zaxira nusxasini tanlang va ustiga bosing OK
- tanlang Mavjud ma'lumotlar bazasini qayta yozing agar kerak bo'lsa
- bosing OK tiklashni boshlash uchun
8.3 Vaqt o'tishi bilan tiklash
Minimal ma'lumotlarni yo'qotish uchun ma'lum bir vaqtga qayta tiklash uchun tranzaktsiyalar jurnalining zaxira nusxalaridan foydalaning. To'liq zaxirangizdan kerakli tiklash nuqtasiga qadar uzluksiz jurnal zahiralari zanjiriga ega ekanligingizga ishonch hosil qiling.
8.4 Malumot
Qo'shimcha ma'lumotni bizning sahifamizdan olishingiz mumkin zaxira nusxasini yaratish va tiklash bo'yicha keng qamrovli qo'llanma SQL Server Ma'lumotlar bazalari.
9. Tuzatish №6: AVTO yopilish xususiyatini o'chiring
Ma'lumotlar bazasini AVTO yopib qo'yish xususiyati qayta tiklash davrlarini keltirib chiqarishi mumkin, bu esa sizning ma'lumotlaringiz SQL Server db doimiy ravishda qayta tiklanadi. Ushbu xususiyatni o'chirib qo'yish muammoni hal qiladi.
9.1 AVTO yopilish masalalarini tushunish
AVTO yopilganda, SQL Server oxirgi ulanish tugagandan so'ng ma'lumotlar bazasini yopadi, keyin uni yangi ulanishlar uchun qayta ochadi. Bu takroriy ochilish har safar tiklash jarayonlarini ishga tushiradi.
9.2 AVTO yopilishni o'chirish
- ochiq SQL Server Boshqaruv studiyasi
- Ma'lumotlar bazasini o'ng tugmasini bosing -> xususiyatlari
- tanlang Options chap paneldan
- o'rnating Avtomatik yopish uchun yolg'on
- bosing OK o'zgarishlarni qo'llash
Shu bilan bir qatorda, T-SQL dan foydalaning:
ALTER DATABASE [YourDatabaseName] SET AUTO_CLOSE OFF;
10. 7-tuzatish: Qayta ishga tushirish SQL Server xizmat
Xizmatni qayta ishga tushirish tiqilib qolgan tiklash jarayonlarini hal qilishi mumkin, ammo ehtiyotkorlik bilan foydalanish kerak, chunki u tiklashni boshidan qayta boshlaydi. Ushbu tuzatish qachon ishlaydi SQL Server tiklanishda butunlay muzlatilgan ko'rinadi.
10.1 Xizmatni qayta ishga tushirish yordam berganda
Xizmatni quyidagi hollarda qayta ishga tushiring:
- Qayta tiklash jarayoni bir necha soat davomida to'xtab qoldi
- Xato jurnallari yangi yozuvlarni ko'rsatmaydi
- Boshqa ma'lumotlar bazalari normal ishlamoqda
- Siz uzoq vaqt ishlamay qolishingiz mumkin
10.2 Xavfsiz qayta ishga tushirish protseduralari
- ochiq SQL Server Konfiguratsiya menejeri
- Navigatsiya qiling SQL Server Xizmatlar
- topish SQL Server qayta ishga tushirmoqchi bo'lsangiz, sichqonchaning o'ng tugmasi bilan bosing SQL Server (namuna nomi)
- tanlang Qayta ishga tushirish
- Xizmat to'liq qayta ishga tushishini kuting
- Qayta tiklash jarayoni uchun xato jurnallarini kuzatib boring
Eslatma: Qayta ishga tushirish tiklanishni boshidan boshlashga olib keladi va bu umumiy tiklanish vaqtini uzaytirishi mumkin.
11. Tuzatish №8: Ma'lumotlar bazasini ajratish va qayta ulash orqali ta'mirlash
Haddan tashqari holatlarda ma'lumotlar bazasini ajratib oling va qayta ulang:
- Ma'lumotlar bazasini ajratib oling:
EXEC sp_detach_db 'YourDatabaseName'; - Faqat MDF faylini biriktiring:
CREATE DATABASE [YourDB] ON (FILENAME = 'C:\Path\YourDB.mdf') FOR ATTACH_REBUILD_LOG; - Bu yangi tranzaksiya jurnalini tiklaydi
ogohlantirish: Ushbu usul ma'lumotlarning yo'qolishiga olib kelishi mumkin. Faqat boshqa imkoniyatlar tugashi bilan foydalaning.
12. Tuzatish №9: Ma'lumotlar bazasini aks ettirish muammolarini hal qilish
Ma'lumotlar bazasini aks ettirish konfiguratsiyasi noyob tiklash muammolariga olib kelishi mumkin. Ushbu tuzatish ma'lumotlar bazasini tiklash holatida saqlaydigan aks ettirishga xos muammolarni hal qiladi.
12.1 Ko'zguga xos tiklash bilan bog'liq muammolar
Ko'zgu qilingan ma'lumotlar bazalari hamkor ulanishi bilan bog'liq muammolar yoki so'nggi nuqta muammolari tufayli tiklashda tiqilib qolishi mumkin. Asosiy va oyna ma'lumotlar bazalari tiklash holatini ko'rsatishi mumkin.
12.2 Qayta tiklash yechimlarini aks ettirish
Ko'zgularni aks ettirishning oxirgi nuqtasini qayta ishga tushiring:
- Yakuniy nuqta nomini toping:
SELECT * FROM sys.endpoints WHERE type = 4; - Yakuniy nuqta:
ALTER ENDPOINT [EndpointName] STATE = STOPPED; - Boshlanish nuqtasi:
ALTER ENDPOINT [EndpointName] STATE = STARTED;
Agar oxirgi nuqtani qayta ishga tushirish bajarilmasa, aks ettirish hamkorligini buzing:
- Bajarish:
ALTER DATABASE [DatabaseName] SET PARTNER OFF; - Yugurish:
RESTORE DATABASE [DatabaseName] WITH RECOVERY; - Ma'lumotlar bazasi onlayn bo'lgandan keyin aks ettirishni qayta sozlang
13. №10 tuzatish: Professional tiklash vositalaridan foydalaning
Uchinchi tomon tiklash vositalari o'rnatilganida ilg'or ta'mirlash imkoniyatlarini ta'minlaydi SQL Server usullar muvaffaqiyatsizlikka uchraydi. Ushbu vositalar ko'pincha jiddiy buzilgan ma'lumotlar bazalaridan ma'lumotlarni qayta tiklashi mumkin.
13.1 DataNumen SQL Recovery
DataNumen SQL Recovery keng qamrovli variantlar bilan birgalikda yuqori tiklanish tezligiga ega.
Quyida undan foydalanish bosqichlari keltirilgan:
- To'xtang SQL Server Xizmat.
- Qayta tiklash rejimida ma'lumotlar bazasi fayllari, shu jumladan asosiy MDF fayli va ikkilamchi NDF fayllari nusxasini yarating.
- Boshlang SQL Server Xizmat.
- boshlanish DataNumen SQL Recovery.
- Qayta tiklanadigan ma'lumotlar bazasi manbai sifatida asl fayl o'rniga nusxasini tanlang.
- Ma'lumotlar bazasini tiklash uchun "Qayta tiklashni boshlash" tugmasini bosing va ko'rsatmalarga amal qiling.
- Qayta tiklash jarayonidan so'ng, yangi tiklash ma'lumotlar bazasi paydo bo'ladi SQL Server barcha tiklangan ma'lumotlarni o'z ichiga oladi.
13.2 Uchinchi tomon vositalarini qachon ko'rib chiqish kerak
Quyidagi hollarda professional vositalardan foydalaning:
- O'rnatilgan ta'mirlash variantlari muvaffaqiyatsiz tugadi yoki keng ko'lamli buzilishlar haqida xabar beradi
- Oxirgi zaxira nusxalari mavjud emas
- Muhim ma'lumotlar korruptsiyaga qaramasdan tiklanishi kerak
- Standart tiklash usullari ma'lumotlarning sezilarli yo'qolishiga olib keladi
14. Profilaktikaning eng yaxshi amaliyotlari
14.1 Muntazam texnik xizmat ko'rsatish vazifalari
Oldini olish uchun ushbu amaliyotlarni amalga oshiring SQL Server tiklash masalalarida ma'lumotlar bazasi:
- Muntazam to'liq va jurnalning zaxira nusxalarini rejalashtirish: To'liq zaxira zanjirlarni saqlang
- VLF sonini kuzatib boring: Optimal ishlash uchun VLFlarni 100 ostida saqlang
- Jurnal fayl hajmini rejalashtirish: Haddan tashqari avtomatik o'sishni oldini olish uchun oldindan o'lchamdagi jurnallar
- Oddiy DBCC CHECKDB ni ishga tushiring: Korruptsiyani erta aniqlash
14.2 Monitoring va ogohlantirish
Proaktiv monitoringni o'rnatish:
- Ma'lumotlar bazasi holati o'zgarishi uchun ogohlantirishlarni sozlang
- Jurnal fayl drayverlaridagi disk maydonini kuzatib boring
- Uzoq muddatli tranzaktsiyalarni kuzatib boring
- Haddan tashqari VLF soni haqida ogohlantirish
14.3 Uskuna va infratuzilma
Ishonchli infratuzilmani ta'minlash:
- Tranzaksiya jurnallari uchun tezkor xotiradan foydalaning (afzal SSDlar)
- Ortiqcha quvvat manbalarini amalga oshiring
- Turli drayvlardagi ma'lumotlar va jurnal fayllarini ajrating
- ko'rib chiqaylik yuqori darajadagi mavjudlik yechimlari kabi Doim mavjud guruhlar
15. Murakkab stsenariylarni nosozliklarni bartaraf etish
15.1 Bir nechta ma'lumotlar bazasi muammolari
Qayta tiklashda bir nechta ma'lumotlar bazalari tiqilib qolganda:
- Tizimdagi muammolarni tekshiring (disk maydoni, xotira)
- Qayta tiklash uchun muhim ma'lumotlar bazalariga ustunlik bering
- Butun misolga ta'sir qiladigan apparat muammolarini ko'rib chiqing
- So'nggi tizim o'zgarishlarini yoki yangilanishlarini ko'rib chiqing
15.2 Katta ma'lumotlar bazasini hisobga olish
1TB dan ortiq maʼlumotlar bazalari uchun:
- Uzoqroq tiklanish vaqtini kuting (potentsial kunlar)
- Xotiraning etarli darajada taqsimlanishini ta'minlang
- Parallel ishlov berish sozlamalarini ko'rib chiqing
- Qayta tiklash vaqtida tempdb maydonini kuzatib boring
15.3 Microsoft qo'llab-quvvatlash xizmatiga qachon murojaat qilish kerak
Microsoft qo'llab-quvvatlash xizmatiga murojaat qiling:
- Zaxira variantlari bo'lmagan muhim ishlab chiqarish tizimlari
- Shubhalangan SQL Server dasturiy ta'minot buglari
- Kafolatlangan tiklanishni talab qiluvchi korporativ muhitlar
- Kompleks Always On yoki klasterli stsenariylar
16. Savol-javoblar
Savol: Qancha vaqt kerak SQL Server ma'lumotlar bazasini tiklash odatda oladimi?
Javob: Qayta tiklash vaqti ma'lumotlar bazasi hajmi, tranzaksiya hajmi va apparat ishlashiga bog'liq. Kichik ma'lumotlar bazalari odatda bir necha daqiqada tiklanadi, keng ko'lamli tranzaksiya jurnallari bo'lgan katta ma'lumotlar bazalari esa bir necha soat davom etishi mumkin. Xato jurnallarida ko'rsatilgan vaqt hisob-kitoblari ko'pincha noto'g'ri bo'ladi, shuning uchun uning o'rniga taraqqiyot foizlariga e'tibor qarating.
Savol: To'xtata olamanmi? SQL Server ma'lumotlarni yo'qotmasdan tiklash paytida?
Javob: To'xtash SQL Server Qayta tiklash jarayonida odatda xavfsiz, ammo xizmat qayta ishga tushirilganda tiklash jarayonini boshidan qayta boshlaydi. Bu umumiy tiklash vaqtini uzaytiradi, ammo asl hodisa paytida sodir bo'lganidan tashqari qo'shimcha ma'lumotlar yo'qotilishiga olib kelmaydi.
Savol: "Qayta tiklashda" va "Qayta tiklash kutilmoqda" o'rtasidagi farq nima?
Javob: "Qayta tiklashda" degan ma'noni anglatadi SQL Server tiklash operatsiyalarini faol ravishda bajarmoqda. “Qayta tiklash kutilmoqda” tiklash jarayoni boshlanmaganligini bildiradi, bu odatda fayllarning yo'qligi, ruxsatnomalarning yetarli emasligi yoki tiklash davom etishidan oldin hal qilinishi kerak bo'lgan disk maydoni muammolari tufayli yuzaga keladi.
"Qayta tiklash kutilmoqda" haqida batafsil ma'lumotni bizning sahifamizda topishingiz mumkin keng qamrovli qo'llanma.
Savol: REPAIR_ALLOW_DATA_LOSS ishlatsam, maʼlumotlarim yoʻqoladimi?
Javob: Ha, REPAIR_ALLOW_DATA_LOSS maʼlumotlar bazasi barqarorligini tiklash uchun buzilgan maʼlumotlarni olib tashlashi mumkin. Har doim avval REPAIR_REBUILD ni sinab ko'ring, bu tizimli muammolarni ma'lumotlarni yo'qotmasdan hal qiladi. REPAIR_ALLOW_DATA_LOSS dan faqat so‘nggi chora sifatida foydalaning, agar boshqa tiklash imkoniyatlari bo‘lmasa.
Savol: Bitta ma'lumotlar bazasi qayta tiklanayotganda boshqa ma'lumotlar bazalariga kira olamanmi?
Javob: Ha, xuddi shunday boshqa ma'lumotlar bazalari SQL Server Qayta tiklash vaqtida namunaga kirish mumkin bo'lib qoladi. Faqat qayta tiklanayotgan ma'lumotlar bazasi mavjud emas. Biroq, tiklash operatsiyalari serverning umumiy ishlashiga ta'sir qilishi mumkin.
Savol: Ma'lumotlar bazasi tiklash rejimida qolib ketishiga nima sabab bo'ladi?
Javob: Umumiy sabablar qatoriga NORECOVERY yordamida toʻliq boʻlmagan tiklash operatsiyalari, haddan tashqari koʻp virtual jurnal fayllari (VLF), katta bajarilmagan tranzaktsiyalar, maʼlumotlar bazasining buzilishi, disk maydoni yetarli emasligi va apparat muammolari kiradi. AVTO CLOSE yoqilgan ma'lumotlar bazalari ham doimiy ravishda tiklashga kirishadi.
Savol: Qayta tiklash jarayoni davom etayotganini yoki tiqilib qolganligini qanday bilsam bo'ladi?
Javob: Monitor SQL Server Tugallanish foizlarini ko'rsatuvchi tiklash jarayoni haqidagi xabarlar uchun xato jurnallari. Faol DB STARTUP buyruqlarini tekshirish uchun sys.dm_exec_requests dan foydalaning. Agar foizlar vaqt o'tishi bilan oshsa, tiklash jarayoni davom etmoqda. Bir necha soat davomida yangi jurnal yozuvlari bo'lmasa, bu jarayonning tiqilib qolganligini ko'rsatishi mumkin.
Savol: Qayta ishga tushirish xavfsizmi? SQL Server tiklanish vaqtida xizmat ko'rsatish?
A: Qayta ishga tushirish xavfsiz, ammo ehtiyotkorlik bilan ishlatilishi kerak. Bu tiklashni boshidan boshlaydi, bu esa tiklash vaqtini ikki baravar oshirishi mumkin. Faqat tiklash bir necha soat davomida hech qanday progresssiz to'liq muzlab qolgan ko'rinsa yoki jarayon chindan ham tiqilib qolgan deb taxmin qilsangiz, qayta ishga tushiring.
Savol: AVTO yopilish va tiklash rejimi o'rtasidagi farq nima?
Javob: AUTO CLOSE hech qanday ulanish mavjud bo'lmaganda ma'lumotlar bazalarini avtomatik ravishda yopadi, so'ngra ularni yangi ulanishlar uchun qayta ochadi. Ushbu takroriy ochilish har safar qisqa tiklash jarayonlarini ishga tushiradi va ma'lumotlar bazasi doimo tiklanayotgandek ko'rinadi. AVTO YAPISHni o'chirib qo'yish bu muammoni hal qiladi.
Savol: Tranzaksiya jurnalining zahira nusxalari tiklanish vaqtida yordam bera oladimi?
A: Agar jurnal diski to'lgan bo'lsa, tranzaksiya jurnalining zaxira nusxalari jurnal maydonini bo'shatishi mumkin, bu esa tiklashni davom ettirishga imkon beradi. Biroq, siz hozirda tiklash rejimida bo'lgan ma'lumotlar bazasi jurnalining zaxira nusxasini yarata olmaysiz. Jurnal zaxira nusxalari oldini olish va tiklashdan keyingi texnik xizmat ko'rsatish uchun ko'proq foydalidir.
Savol: Microsoft qo'llab-quvvatlash xizmatiga qachon murojaat qilishim kerak?
Javob: Agar shubhangiz bo'lsa, o'rnatilgan tiklash usullari ishlamay qolgan muhim ishlab chiqarish tizimlari uchun Microsoft qo'llab-quvvatlash xizmatiga murojaat qiling SQL Server Dasturiy ta'minotdagi xatolar, har doim yoqilgan yoki klasterlash stsenariylari uchun yoki korporativ muhit minimal uzilishlar bilan kafolatlangan ma'lumotlarni tiklashni talab qilganda.
Savol: Ma'lumotlar bazalarini qayta tiklashda qolib ketishini qanday oldini olishim mumkin?
Javob: Muntazam to'liq va jurnalning zaxira nusxalarini amalga oshiring, VLF hisobini kuzatib boring va boshqaring, diskda etarli joyni ta'minlang, to'g'ri o'chirish tartib-qoidalaridan foydalaning, apparat ishonchliligini ta'minlang, ishlab chiqarish ma'lumotlar bazalarida AVTO yopilishni o'chiring va korruptsiyani erta aniqlash uchun muntazam DBCC CHECKDB operatsiyalarini bajaring.
Savol: VLFlar nima va ular nima uchun tiklanishga ta'sir qiladi?
Javob: Virtual jurnal fayllari (VLF) tranzaksiya jurnali fayllari ichidagi ichki segmentlardir. Juda ko'p VLF (1,000 dan ortiq) tiklanishni sezilarli darajada sekinlashtiradi, chunki SQL Server har birini alohida qayta ishlash kerak. To'g'ri jurnal fayl o'lchami va o'sish sozlamalari optimal VLF sonini saqlashga yordam beradi.
Savol: Ma'lumotlar bazasi qayta tiklanayotganda zaxiradan tiklash mumkinmi?
Javob: Hozirda tiklash rejimida bo'lgan ma'lumotlar bazasi orqali qayta tiklay olmaysiz. Qayta tiklash tugashini kutishingiz kerak, to'xtating SQL Server xizmat ko'rsatish yoki boshqa ma'lumotlar bazasi nomiga tiklash. Favqulodda vaziyatlarda ma'lumotlar bazasining yangi nomini tiklash va tiklash bilan bog'liq muammolar hal bo'lgach, uni qayta nomlashni o'ylab ko'ring.
17. Xulosa va keyingi qadamlar
17.1 Asosiy yechimlarning qisqacha mazmuni
Qachon sizning SQL Server ma'lumotlar bazasi tiklanmoqda, quyidagi tartibda quyidagi yondashuvlar bilan boshlang:
- Xato jurnallarini tekshiring va jarayonni kuzatib boring
- Agar taraqqiyot barqaror bo'lsa, tabiiy tugashni kuting
- Toʻliq boʻlmagan tiklashlar uchun RESTORE WITH RECOVERY dan foydalaning
- Tranzaksiya jurnali muammolarini hal qiling
- DBCC CHECKDB yoki korruptsiya uchun professional vositalarni ishga tushiring
- Og'ir holatlarda zaxirani tiklashni ko'rib chiqing
eng SQL Server db tiklash holatlarida ushbu tasdiqlangan usullardan foydalangan holda bir necha soat ichida hal qilinadi. Murakkab stsenariylar uchun ilg'or texnika yoki professional vositalardan foydalanishdan tortinmang.
17.2 Qo'shimcha manbalar
Qo'shimcha yordam uchun:
- Microsoft SQL Server hujjatlar
- SQL Server Jamiyat forumlari
- Ma'lumotlar bazasini boshqarish bloglari va texnik resurslar
- Professional ma'lumotlar bazasini tiklash xizmatlari
Muntazam texnik xizmat ko'rsatish va monitoring ko'pgina tiklash muammolarining oldini oladi. Kelajakda tiklash muammolarida MS SQL paydo bo'lishini minimallashtirish uchun ushbu qo'llanmada keltirilgan oldini olish amaliyotlarini qo'llang.
Muallif haqida
Yuan Sheng 10 yildan ortiq tajribaga ega bo'lgan katta ma'lumotlar bazasi administratori (DBA). SQL Server muhitlar va korporativ ma'lumotlar bazasini boshqarish. U moliyaviy xizmatlar, sog'liqni saqlash va ishlab chiqarish tashkilotlarida ma'lumotlar bazasini tiklashning yuzlab stsenariylarini muvaffaqiyatli hal qildi.
Yuan ixtisoslashgan SQL Server ma'lumotlar bazasini tiklash, yuqori mavjudlik echimlari va ishlashni optimallashtirish. Uning keng ko‘lamli amaliy tajribasiga ko‘p terabaytli ma’lumotlar bazalarini boshqarish, “Always On Availability Groups”ni amalga oshirish va muhim biznes tizimlari uchun avtomatlashtirilgan zaxira va tiklash strategiyalarini ishlab chiqish kiradi.
Yuan o'zining texnik tajribasi va amaliy yondashuvi orqali ma'lumotlar bazasi ma'murlari va IT mutaxassislariga murakkab muammolarni hal qilishga yordam beradigan keng qamrovli qo'llanmalarni yaratishga e'tibor qaratadi. SQL Server muammolarni samarali hal qiladi. U eng so'nggi yangiliklardan xabardor bo'lib qoladi SQL Server relizlar va Microsoft-ning rivojlanayotgan ma'lumotlar bazasi texnologiyalari, uning tavsiyalari haqiqiy dunyodagi eng yaxshi amaliyotlarni aks ettirishini ta'minlash uchun tiklash stsenariylarini muntazam ravishda sinab ko'radi.
haqida savollaringiz bor SQL Server tiklash yoki ma'lumotlar bazasi muammolarini bartaraf etish bo'yicha qo'shimcha yo'riqnoma kerakmi? Yuan tabriklaydi mulohazalar va takliflar ushbu texnik resurslarni yaxshilash uchun.









