Sql boshqaruv studiyasining zaxira nusxasi. SQL

MS SQL Server ma'lumotlar bazasida jadvalni nusxalashning bir necha usullari mavjud. Men jadvallar nusxasini yaratish uchun bir nechta variantni taklif qilaman. Qaysi birini tanlash jadvalning tuzilishiga, undagi indekslar, triggerlar va boshqalar mavjudligiga, shuningdek, qo'llaringiz bilan biror narsa qilish istagiga bog'liq.

1. Jadval strukturasini qo'lda nusxalash usuli

Micrisoft SQL Management Studio'da ma'lumotlar bazasini tanlang, jadvalni tanlang, bosing o'ng tugmasini bosing sichqonchani bosing va "Skript jadvali sifatida" -> "CREATE TO" -> "Yangi so'rovlar muharriri oynasi"ni tanlang. So'rov oynasi jadval yaratish uchun kodni ochadi. Unda jadval nusxasini yaratmoqchi bo'lgan ma'lumotlar bazasi nomini, agar ma'lumotlar bazasi o'zgarmasa, yangi nomni ko'rsatishingiz kerak. Mavjud jadval strukturasini yaratish uchun kodni qanday yaratish quyidagi rasmda ko'rsatilgan.

Bu usul jadvalda indekslarni yaratadi, lekin triggerlarni nusxalamaydi. Ular xuddi shu tarzda ko'chirilishi kerak.

Ma'lumotlarni allaqachon yaratilgan jadvalga nusxalash uchun siz quyidagi SQL so'rovidan foydalanishingiz kerak:

..tmp_tbl_Deps ga INSERT SELECT * FROM ..tbl_Deps

2. SQL jadvalini so'rov bo'yicha bir qatorga nusxalash

Bitta ma'lumotlar bazasida jadval tuzilishi va ma'lumotlarning nusxasini yarating:

tbl_Deps FROM tmp_tbl_Dep ichiga * ni tanlang

Jadval tuzilishi va uning ma'lumotlarini bir ma'lumotlar bazasidan boshqasiga ko'chiring:

..tbl_Deps FROM ..tmp_tbl_Deps ichiga * ni tanlang

Ushbu yechimning salbiy tomoni shundaki, indekslar ko'chirilmaydi.

Ushbu maqola sizga Microsoft SQL Server Management Studio yordamida ma'lumotlar bazasining to'liq zahirasini qo'lda qanday yaratishni ko'rsatib beradi.

1. Zaxira nusxasini yaratish

Bu aslida juda oddiy. Biz qo'shimcha qurilmani ishga tushiramiz " » (« Boshlash» — « Barcha dasturlar» — « SQL Server 2008 R2» — « Microsoft SQL Server boshqaruv studiyasi») Va avtorizatsiya uchun ma'lumotlarni kiriting.

Shundan so'ng, Object Explorer-da yorliqni oching " Ma'lumotlar bazasi"Va zaxira nusxasini yaratmoqchi bo'lgan ma'lumotlar bazasini o'ng tugmasini bosing. Rivojlanayotgan davrda kontekst menyusi tanlash " Vazifalar» ( Vazifalar) — « Zaxira nusxasini yarating» ( Zaxiralash...) .

oyna " Ma'lumotlar bazasini zaxiralash» ( Ma'lumotlar bazasini zaxiralash). Keling, bunga arziydiganiga ishonch hosil qilaylik " Toʻliq» ( Toʻliq), agar kerak bo'lsa, nom va tavsifni o'rnating, shuningdek maqsadni ko'rsating zaxira... Odatiy bo'lib, kompyuterning qattiq diskidagi SQL server ma'lumotlar bazalarining asosiy joylashuvining Zaxira papkasiga yo'l tanlangan. Nusxa joylashuvini o'zgartirish uchun avval " tugmasini bosing. Oʻchirish» ( O'chirish) mavjud topshiriqni olib tashlash uchun va keyin " Qo'shish» ( Qo'shish…) Yangisini qo'shish uchun.

Bu erda biz zaxira faylining joylashuvi va nomini o'rnatamiz va "ni bosing. OK". Siz bir nechta shunday yo'nalishlarni belgilashingiz mumkin. Bunday holda, zaxira nusxasi ko'rsatilgan faylning har bir qismi teng qismlarga bo'linadi.

Barcha sozlamalar o'rnatilganda, "ni bosing. OK"Va vazifa tugashini kuting. Har bir narsa to'g'ri bajarilgan bo'lsa, biz belgilangan katalogda SQL ma'lumotlar bazasi zaxira faylini topamiz.

2. Ma'lumotlar bazasini zahiradan tiklash

Qayta tiklash xuddi shunday tarzda amalga oshiriladi. V " Microsoft SQL Server boshqaruv studiyasi»Bazani tanlang zaxira nusxasi yaratilgan, sichqonchaning o'ng tugmasi bilan ustiga bosing, kontekst menyusida "ni tanlang. Vazifalar» ( Vazifalar) — « Qayta tiklash» ( Qayta tiklash) — « Malumotlar bazasi…» ( Ma'lumotlar bazasi ...).

oyna " Ma'lumotlar bazasini tiklash» ( Ma'lumotlar bazasini tiklash). Bu erda, manba sifatida biz " Qurilmadan» ( Qurilmadan) va zaxira faylni tanlang (1-bosqichda yaratilgan).

Bayroqni o'rnatamiz " Qayta tiklash» ( Qayta tiklash) tanlangan zahiraga qarama-qarshi. Agar kerak bo'lsa, "yorlig'ida" Parametrlar» ( Variantlar), belgilashingiz mumkin Qo'shimcha variantlar tiklash, uning ma'nosi o'qilishi mumkin.

Barcha sozlamalar o'rnatilgandan so'ng, "ni bosing. OK"Va ma'lumotlar bazasini muvaffaqiyatli tiklash haqidagi xabarni kuting.

3. Zaxira nusxasini boshqa ma'lumotlar bazasiga tiklash (ma'lumotlarni nusxalash)

Agar ma'lumotlar bazasiga ma'lumotlarni yuklashingiz kerak bo'lsa, zaxira nusxasi yaratilganidan farq qiladi, keyin yuklashda, 2-bandda tavsiflangan harakatlarga qo'shimcha ravishda, yorliqda kerak bo'ladi " Parametrlar"(Tanlovlar) ushbu ma'lumotlar bazasining fayl nomlarini o'rnating va bayroqni o'rnating" Mavjud ma'lumotlar bazasini qayta yozish"(ALSHISH BILAN).

Ushbu maqola sizga yordam berdimi?

Ushbu maqola MS SQL-ni tiklash uchun echimlarga bag'ishlangan. Biz MS SQL ma'lumotlar bazasini tiklash bo'yicha yechimni rejalashtirish va tanlashda e'tiborga olinishi kerak bo'lgan asosiy fikrlar va muhim tafsilotlarni ko'rib chiqishga harakat qilamiz.

MS SQL falokatdan tiklanishni rejalashtirishning bir qismi sifatida ikkita parametr alohida qiziqish uyg'otadi: tiklash vaqti maqsadi (RTO) va tiklash nuqtasi maqsadi (RPO).

Boshqacha qilib aytganda, RPO oxirgi vaqtdan beri o'tgan vaqt davri Zaxira nusxasi voqea sodir bo'lgunga qadar, buning uchun muhim bo'lmagan miqdordagi ma'lumotlar (ma'lumotlar) yo'qoladi. RTO - voqea sodir bo'lgan paytdan boshlab xizmat / tizimning yaroqliligini tiklash zarur bo'lgan ruxsat etilgan vaqt. Ikkala parametr ham mavjud o'zgaruvchan qiymat va ma'lum bir tizimga qo'yiladigan talablarga bog'liq. Shuning uchun, o'rnatilgan RPO va RTO'larni ishga tushirish uchun sizda tegishli zaxira rejasi bo'lishi kerak. Misol yordamida biz yuzaga kelishi mumkin bo'lgan favqulodda vaziyatlarni tahlil qilamiz va SQL serverimiz ishlamay qolgan nuqtalarni va ularni hal qilish usullarini ajratib ko'rsatishga harakat qilamiz:

  • apparatdagi nosozlik, jismoniy server ishdan chiqishi: disklar, protsessor, anakart, quvvat manbai va boshqalar.
  • dasturiy ta'minotdagi xato: operatsion tizim, malumotlar bazasi

Har bir belgilangan hodisa uchun hodisa oqibatlarini bartaraf etish uchun barcha choralar ko'riladi.

YUQORI MAVJUDLIGI MS SQL

RPO va RTO (sekundlar/daqiqalar) uchun yuqori talablar bilan MS SQL xatoliklarga chidamliligini ta'minlashning yagona yechimi serverning yuqori mavjudlik texnologiyasini tashkil qilishdir (Yuqori mavjudlik):

  • O'rnatilgan MS SQL va OS Windows Server Windows Server Failover Cluster (WSFC) ni, shu jumladan AlwaysOn texnologiyasidan foydalanish orqali yuqori mavjudlikka erishishimiz mumkin. O'chirish klasteri kamida ikkita tugun/serverdan iborat. Agar faol server muvaffaqiyatsiz bo'lsa, boshqa mavjud serverga o'tish sodir bo'ladi, u faol bo'ladi. Bunday holda, serverda joylashtirilgan barcha xizmatlar avtomatik yoki qo'lda boshqa mavjud saytga o'tkaziladi.
  • MS SQL virtual mashinasi bo'lgan hollarda, VMware HA-klaster yoki Hyper-V High Availability virtualizatsiya vositalari yordamida yuqori mavjudlikni ta'minlash mumkin. Bunday holda, agar jismoniy server muvaffaqiyatsiz bo'lsa, u avtomatik ravishda ishga tushirishga imkon beradi virtual mashina klasterdagi boshqa serverda.

Agar kerak bo'lsa, ikkala usul ham alohida, ham birgalikda amalga oshirilishi mumkin. Klasterlash apparatdagi nosozlikni tezda bartaraf etish uchun katta darajada ishlab chiqilgan.

Yuqori darajadagi MS SQL ning afzalliklari:

  • tugundan tugunga bir zumda o'tish, uzilishlar yo'q
  • jismoniy serverlarga bog'liqliksiz
  • ma'lumotlar bazasi bilan ishlashni to'xtatmasdan serverlarni saqlashga imkon beradi

Yuqori darajadagi MS SQL ning kamchiliklari:

  • amalga oshirish qo'shimcha infratuzilma va resurslarni talab qiladi
  • litsenziyalar va uskunalar uchun yechimning yuqori narxi
  • yanada murakkab va yuqori malakali xizmat

MS SQL ZAXIRA

RTO va RPO uchun talablar yuqori bo'lmagan va yuqori mavjudlik (klasterlash) zarurati bo'lmagan hollarda, MS SQL ma'lumotlar bazalarining jismoniy yoki ma'lumotlar bazasida xatolarga chidamliligini ta'minlash virtual server zaruriy shart - bu zaxira nusxasi. Buning uchun siz o'rnatilgan qurilmadan foydalanishingiz mumkin SQL funktsiyalari MS SQL-ni zaxiralashning turli usullarini qo'llab-quvvatlaydigan server yoki alohida ixtisoslashtirilgan tizimlardan foydalaning, masalan:

Ushbu tizimlar ma'lumotlar bazasi serverining ishlashida apparat va dasturiy ta'minotdagi nosozliklarni oldini olishga yordam beradi.

RTO va RPO qiymatlarini hisoblagandan so'ng, siz SQL server konfiguratsiyasini rejalashtirishga o'tishingiz mumkin. Ushbu qiymatlarga erishish uchun biz yuqorida sanab o'tilgan yuqori mavjud texnologiyalardan ham, ma'lumotlar bazasini zaxiralashdan ham foydalanishimiz mumkin.

MS SQL qoidalarini zaxiralang

  • Zaxira nusxalari asl ma'lumotlar bazasi fayllari bilan turli xil jismoniy tashuvchilarda bo'lishi kerak
  • Zaxira nusxalarini tiklash tartibini sinab ko'rish uchun sinov serveridan (qum qutisi) foydalaning
  • Kundalik ishingizni qiling
  • Buni iloji boricha tez-tez bajaring. Ular kamroq xotirani egallaydi va ma'lumotlarni yo'qotish xavfini yanada kamaytiradi
  • Tranzaksiya jurnallarini iloji boricha tez-tez zaxiralang. Tranzaktsiyalar jurnallarida ma'lumotlar bazasida sodir bo'lgan eng so'nggi harakatlar mavjud. Jurnallar ma'lumotlar bazasini ma'lum bir vaqtning o'zida tiklash uchun ishlatilishi mumkin va bu eng katta foyda. Tizim ishlayotgan vaqtda tranzaktsiyalar jurnalining zaxira nusxalari amalga oshirilishi mumkin. Agar ma'lumotlar bazasida yaratilayotgan yangi ma'lumotlarning chastotasi juda yuqori bo'lsa, siz har 10 daqiqada tranzaktsiyalar jurnalining zahira nusxasini yaratishingiz mumkin, boshqa faolroq bo'lmagan ma'lumotlar bazalari uchun esa bunday zaxira har 30 yoki 60 daqiqada amalga oshirilishi mumkin.
  • MS SQL tizimi ma'lumotlar bazalarining zaxira nusxasini yarating: server, master, model va msdb. Ushbu ma'lumotlar bazalari juda muhim, chunki ular tizim konfiguratsiyasini, shuningdek, tizim to'liq tiklangan taqdirda qayta tiklanishi kerak bo'lgan SQL Server ish ma'lumotlarini o'z ichiga oladi.

BACKUP EXEC FOYDALANISHDA MS SQL ZAXIRA QILISHNI SOZLASH

Backup Exec uchta MS SQL zahiralash usulini taklif qiladi: to'liq, differentsial va faqat to'liq nusxa ko'chirish. To'liq usul butun ma'lumotlar bazasining to'liq zaxira nusxasini amalga oshiradi, Differensial esa faqat oxirgi to'liq zaxiradan keyin ma'lumotlar bazasidagi o'zgartirilgan bloklarni zaxiralaydi. Faqat to'liq nusxa ko'chirish usuli to'liq zahiraga o'xshaydi, lekin u keyingi differentsial zaxira ishlariga ta'sir qilmaydi.

Buning uchun har bir ishni batafsil ko'rib chiqamiz, biz asosiy va tizim ma'lumotlar bazalarini zaxiralash uchun tizimda yangi vazifa yaratamiz.

So'ngra, parametrlar (variantlar) sozlamalarida vazifa turini tanlang (avval To'liq, keyin Differensial zahirani o'rnating).



Backup Exec juda muhim va foydali funksiya Zaxiradan oldin / keyin muvofiqlikni tekshirish, tanlash uchun to'rtta variant mavjud:

  • tekshirmang
  • to'liq tekshirish, indekslar bundan mustasno
  • indekslar bilan to'liq tekshirish
  • faqat jismoniy tekshirish


Differensial zahirani o'rnatish uchun avvalo yangi ish differensial ishni qo'shishingiz kerak (ishning to'liq zaxirasiga o'xshash) va keyin Microsoft SQL yorlig'ida zahiralash usullaridan birini tanlang.


V bu ro'yxat birinchi navbatda qiziqtiradi Differentsial - oxirgi to'ldirilganidan beri ma'lumotlar bazasi o'zgarishlarining zaxira nusxasini yarating(to'liq biriga asoslangan differentsial zahirani yaratish). Keyinchalik virtual mashinaga o'tkazish bilan differentsial zaxira nusxasini (blok darajasida) yaratish ham mumkin. "Differentsial (blok darajasida) - oxirgi to'liq ma'lumotlardan keyin ma'lumotlar bazasi o'zgarishlarining zahiraviy nusxasi - virtual mashinaga aylantirish bilan foydalanish".

Yana bir muhim parametr "Jurnal - tranzaktsiyalar jurnalini zaxiralash va kesish" MS SQL tranzaksiya jurnalining zaxira nusxasini yaratish uchun.

Biz MS SQL zaxirasining asosiy nuqtalarini ko'rib chiqdik. Esda tutingki, zaxira nusxalari umumiy ofatlarni tiklash rejasining (DRP) bir qismidir, shuning uchun zaxiralashni rejalashtirishdan oldin RPO va RTO ni ta'minlash uchun tizimlar va infratuzilmani to'liq tahlil qilish kerak. Va agar tizimni ishlab chiqishda DRP rejalashtirishni amalga oshirish mumkin bo'lsa, bu ko'plab muammolarni bartaraf etishga va, ehtimol, tizimni ishlatish xarajatlarini kamaytirishga yordam beradi.

Ushbu maqolada foydalanilgan ma'lumotlar rasmiy manbalardan olingan.

"Kim ma'lumotga ega bo'lsa, u dunyoning egasidir" - Mayer Amschel Rotshild

Har qanday biznesdagi eng qimmatli ob'ekt bu ma'lumotdir. Axborotni yo'qotish oldindan aytib bo'lmaydigan oqibatlarga olib kelishi mumkin, asosan moliyaviy. Shuning uchun, biri asosiy vazifa IT-mutaxassislari butun IT infratuzilmasini zaxiralashmoqda. Bu MS SQL Server ma'lumotlar bazalariga ham tegishli.


Amaldagi ma'lumotlar bazalaridagi ma'lumotlarning xavfsizligini ta'minlash, shuningdek ishlash qobiliyatini tiklash vaqtini qisqartirish uchun davriy zaxira nusxasini yaratish kerak. SQL-dan nusxa oling-serverlar.

Oddiy misolni olaylik: alohida diskda ma'lumotlar bazasi zahirasini o'rnatishingiz kerak.

Yechim:

  1. Biz ochamiz Microsoft SQL Server boshqaruv studiyasi... O'ng tarafdagi navigatsiya menyusida yorliqni oching "Boshqaruv"... U erda biz yorliqni ko'ramiz "Xizmat rejalari"... Sichqonchaning o'ng tugmachasini bosing -> "Xizmat rejasini yarating" va rejamizga nom bering (1-rasm):

1-rasm Yangi xizmat rejasini yaratish.

2. Asboblar panelida vazifa qo'shing "Ma'lumotlar bazasini zaxiralash"(2-rasm):

Fig.2 "Ma'lumotlar bazasini zahiralash" vazifasini qo'shish.

3. Yaratilgan vazifada sichqonchaning o'ng tugmasi bilan -> tugmasini bosing "O'zgartirish"(3-rasm):

4. Vazifa xususiyatlari oynasida zaxiralash turini tanlang (mening holimda, to'liq), kerakli ma'lumotlar bazasini (menda ka_cons bor), zaxiralash uchun katalogni, zaxiralarning yaxlitligini tekshirish imkoniyatini va ular uchun siqish variantlarini tanlang (2-rasm). 4-6):


4-rasm Zaxira turi - to'liq.

Fig.5 Zaxiralash uchun ma'lumotlar bazasini tanlash.

6-rasm Zaxiralash uchun katalogni aniqlash, yaxlitlik va siqish nisbatini tekshirish.

5. O'ngdagi xizmat rejasini sozlash panelida. tugmasini bosing "Jadval"(7-rasm):

6. Bizga kerak bo'lgan jadvalni o'rnating va bosing "OK"(8-rasm):

8-rasm Zaxira jadvalini sozlash.

7. Xizmat rejamizni saqlang (9-rasm):

9-rasm Ta'mirlash rejasini saqlash.

Rejalashtirilgan to'liq ma'lumotlar bazasi zaxirasi sozlangan.

Keling, "Test _Recovery" ma'lumotlar bazasini holatiga tiklaymiz " t 4».

Keling, ma'lumotlar bazasini "Full2_Test_Recovery.bak" to'liq zaxirasidan "SQL Server Management Studio" yordamida tiklashni boshlaylik. ". Ma'lumotlar bazasini o'ng tugmasini bosing " Sinov _ Qayta tiklash ", Ko'rsatilgan menyuda tanlang" Vazifalar ", keyin" Qayta tiklash ", keyin" Ma'lumotlar bazasi ".

Ko'rsatilgan oynada ""Ma'lumotlar bazasini tiklash" "Manba" bo'limida "Qurilma" ni tanlang. Keyingi “Qo'shish ", Yo'lni yozing" \\ vniz - tst - bkp 01. test. mahalliy \ Zaxira _ SQL \ To'liq 2_ Test _ Qayta tiklash. bak ", "OK" tugmasini bosing. "Maqsad" bo'limida tanlang "Testni tiklash" ma'lumotlar bazasi

"OK" tugmasini bosing

Baza muvaffaqiyatli tiklanadi.

Keling, Transact-SQL yordamida ma'lumotlar bazasini tiklashni ko'rib chiqaylik.

"Test_Recovery" ma'lumotlar bazasini o'ng tugmasini bosing, paydo bo'lgan menyuda "Yangi so'rov" ni tanlang:

Ko'rsatilgan oynada quyidagilarni kiriting:

FOYDALANISH usta

QAYTA QILISH DATABASE Test_Recovery

FROM DISK = "\\ vniz-tst-bkp01.test.local \ Backup_SQL \ Full2_Test_Recovery.bak"

BILAN ALSHIRISh

Baza muvaffaqiyatli tiklanadi.

Ushbu misolda biz "REPLACE" parametridan foydalandik:

Qayta tiklash odatda boshqa ma'lumotlar bazasini tasodifan qayta yozishni oldini oladi. Agar RESTORE bayonotida ko'rsatilgan ma'lumotlar bazasi joriy serverda allaqachon mavjud bo'lsa va ko'rsatilgan ma'lumotlar bazasi uchun ma'lumotlar bazasi oilasi GUID zaxira to'plamida qayd etilgan ma'lumotlar bazasi oilasi GUIDdan farq qilsa, u tiklanmaydi.

ALSHIRISh opsiyasi odatda tiklash operatsiyasi orqali amalga oshiriladigan bir nechta muhim tekshiruvlarni bekor qiladi. Quyidagi tekshiruvlar bekor qilinadi.

  • Mavjud ma'lumotlar bazasini boshqa ma'lumotlar bazasi uchun yaratilgan zaxiradan tiklashni tekshiring.Qayta tiklash vaqtida REPLACE parametridan foydalanganda, ko'rsatilgan ma'lumotlar nomi zahira to'plamida yozilganidan farqli bo'lsa ham, zaxira to'plamida qaysi ma'lumotlar bazalari mavjudligidan qat'i nazar, mavjud ma'lumotlar bazasini qayta yozishingiz mumkin. Bu ma'lumotlar bazasi ustidan boshqa ma'lumotlar bazasini tasodifiy qayta yozishga olib kelishi mumkin.
  • Jurnalning oxirigacha zaxiralanmagan va STOPAT opsiyasi qo'llanilmagan to'liq yoki ommaviy qayd qilingan tiklash modelidan foydalanadigan ma'lumotlar bazasida tiklashni tekshiring.Agar siz O'ZISHTIRISH opsiyasidan foydalansangiz, oxirgi kiritilgan ma'lumotlar hali zaxiralanmaganligi sababli belgilangan ma'lumotlarni yo'qotishingiz mumkin.
  • Mavjud fayllarni qayta yozing.