Нөөцлөх SQL Server 2025 оны бүрэн гарын авлага бүхий мэдээллийн сан. Бүх ур чадварын түвшинд зориулсан алхам алхмаар зааварчилгаа, шилдэг туршлагууд.
1. Танилцуулга SQL Server Нөөцлөх
1.1 Юу вэ SQL Server Нөөцлөх үү?
SQL Server нөөцлөлт гэдэг нь өгөгдлийн алдагдлаас хамгаалахын тулд өгөгдлийн сангийн файлуудын хуулбарыг үүсгэх үйл явц юм. Нөөцлөлт нь таны мэдээллийн сангийн төлөвийг тодорхой цаг хугацаанд нь барьж авдаг бөгөөд хэрэв техник хангамжийн доголдол, хүний алдаа, гамшиг тохиолдсон тохиолдолд өгөгдлийг сэргээх боломжийг танд олгоно.
SQL Server Хүснэгт, хадгалагдсан процедур, харагдац, индекс, гүйлгээний бүртгэл зэрэг мэдээллийн сангийн бүх объектыг агуулсан .bak файлд нөөцлөлтийг анхдагчаар хадгалдаг.
1.2 Яагаад SQL Server Нөөцлөх нь маш чухал
Өгөгдлийн сангийн нөөцлөлт нь өгөгдлийн алдагдлаас хамгаалах хамгийн сүүлийн шугам болдог. Зохих нөөцгүй бол танай байгууллага дараахь эрсдэлд орно.
- Өгөгдлийн байнгын алдагдал техник хангамжийн гэмтэл эсвэл эвдрэлээс
- Өргөтгөсөн сул зогсолт сэргээх оролдлогын үеэр
- Бизнесийн тасалдал болон орлогын алдагдал
- Дагаж мөрдөх зөрчлүүд хэрэв өгөгдлийг сэргээх боломжгүй бол
- Нэр хүндэд хохирол учруулах үйлчилгээний тасалдлаас
Тогтмол SQL Server нөөцлөлт нь бизнесийн тасралтгүй байдлыг хангаж, өгөгдөл хамгаалах зохицуулалтын шаардлагыг хангадаг.
1.3 Өгөгдлийн алдагдлын нийтлэг хувилбарууд
Өгөгдөл алдагдлыг ойлгох нь үр дүнтэй нөөцлөх стратеги боловсруулахад тусална.
- Техник хангамжийн алдаа: Дискний эвдрэл, серверийн доголдол, хадгалах системийн доголдол
- Хүний алдаа: Санамсаргүй устгасан, буруу шинэчлэлт хийсэн, эсвэл унагасан хүснэгт
- Програм хангамжийн асуудлууд: Аппликешны алдаа, гэмтсэн шинэчлэлт эсвэл системийн гэмтэл
- Аюулгүй байдлын зөрчил: Ransomware халдлага, хортой устгах, эсвэл зөвшөөрөлгүй хандалт
- Байгалийн гамшиг: Дата төвүүдэд нөлөөлж буй гал түймэр, үер, цахилгаан тасалдал
2. Ойлголт SQL Server Нөөцлөлтийн төрлүүд
SQL Server олон төрлийн нөөцлөлтийг дэмждэг бөгөөд тус бүр нь өөр өөр сэргээх хэрэгцээ, хадгалах хэрэгцээг хангадаг.
2.1 Бүрэн нөөцлөлт
Бүрэн нөөцлөлт нь сэргээхэд шаардлагатай бүх өгөгдлийн файлууд болон гүйлгээний бүртгэлийн хэсгийг багтаасан бүх мэдээллийн сангийн бүрэн хуулбарыг үүсгэдэг.
2.1.1 Бүрэн нөөцлөлтийг хэзээ ашиглах вэ
Бүрэн нөөцлөлт нь дараахь зүйлд тохиромжтой.
- Бусад төрлийн нөөцлөлтийн суурь шугамыг бий болгох
- Нөөцлөх хугацааг хүлээн зөвшөөрөх боломжтой жижиг, дунд мэдээллийн сан
- Долоо хоног эсвэл сар бүр нөөцлөх хуваарь
- Байнга өөрчлөгддөггүй мэдээллийн сан
2.1.2 Бүрэн нөөцлөх давуу тал ба хязгаарлалт
Давуу талууд:
- Хамгийн энгийн сэргээх процесс - нэг файлд бүх зүйл багтдаг
- Бие даасан, бусад нөөцлөлтөөс хамааралгүй
- Өгөгдлийн санг бүрэн сэргээхэд хамгийн хурдан сэргээх хугацаа
хязгаарлалт:
- Их хэмжээний хадгалах зай шаарддаг
- Том өгөгдлийн сангийн нөөцлөх хугацаа урт
- Нөөцлөх үйл ажиллагааны явцад илүү их нөөцийн зарцуулалт
2.2 Дифференциал нөөцлөлт
Дифференциал нөөцлөлт нь зөвхөн сүүлийн бүрэн нөөцлөлтөөс хойшхи өгөгдлийн өөрчлөлтийг авч, нөөцлөх хугацаа болон хадгалах сангийн шаардлагыг багасгадаг.
2.2.1 Дифференциал нөөцлөлт хэрхэн ажилладаг
Дифференциал нөөцлөлтүүд нь өөрчлөгдсөн өргөтгөлүүдийг ашиглан өөрчлөлтийг хянадаг. Та сэргээх үед, SQL Server эхлээд сүүлийн бүрэн нөөцлөлтийг, дараа нь хамгийн сүүлийн үеийн дифференциал нөөцлөлтийг хэрэглэнэ.
2.2.2 Бүрэн болон дифференциал нөөцлөлт
| асуудал | Бүрэн нөөцлөлт | Дифференциал нөөцлөлт |
|---|---|---|
| Хэмжээ | Бүрэн мэдээллийн сан | Зөвхөн сүүлчийн бүрэн нөөцлөлтөөс хойш өөрчлөгдөнө |
| Нөөцлөх хугацаа | Хамгийн урт | Дүүрснээс хурдан |
| Сэргээх үйл явц | Ганц файл сэргээх | Бүрэн + дифференциал шаарддаг |
| Хадгалах шаардлагатай | Хамгийн их зайтай | Эхэндээ бага зай, цаг хугацаа өнгөрөх тусам нэмэгддэг |
2.3 Гүйлгээний бүртгэлийн нөөцлөлт
Гүйлгээний бүртгэлийн нөөцлөлт нь хамгийн сүүлийн бүртгэлийн нөөцлөлтөөс хойшхи бүх гүйлгээг бүртгэж, цаг алдалгүй сэргээх боломжийг олгодог.
2.3.1 Гүйлгээний бүртгэлийг ойлгох
Гүйлгээний бүртгэл нь таны мэдээллийн санд хийсэн өөрчлөлт бүрийг бүртгэдэг. Бүртгэлийн нөөцлөлт нь бүртгэлийн идэвхгүй хэсгийг тайрч, тодорхойгүй хугацаагаар өсөн нэмэгдэж, таны дискийг дүүргэхээс сэргийлдэг.
2.3.2 Цаг хугацаанд нь сэргээх
Гүйлгээний бүртгэлийн нөөцлөлт нь бүртгэлийн нөөцлөлт доторх тодорхой агшинд өөрийн мэдээллийн санг сэргээх боломжийг танд олгоно. Энэ нь өгөгдлийг санамсаргүй өөрчилсөн эсвэл устгасан тохиолдолд сэргээхэд маш чухал юм.
Цаг алдалгүй сэргээхийн тулд танд дараах зүйлс хэрэгтэй:
- Сүүлийн бүрэн нөөцлөлт
- Хамгийн сүүлийн үеийн дифференциал нөөцлөлт (заавал биш)
- Бүрэн/ялгаатай нөөцлөлтөөс зорилтот хугацаа хүртэлх бүх гүйлгээний бүртгэлийн нөөцлөлтүүд
2.4 Tail-Log нөөцлөлт
Tail-log-ийн нөөцлөлт нь хараахан нөөцөлж амжаагүй бүртгэлийн бүртгэлийг авч, өгөгдөл алдагдахаас сэргийлж, бүртгэлийн хэлхээг бүрэн бүтэн байлгадаг. Сэргээхээс өмнө a SQL Server өгөгдлийн санг хамгийн сүүлийн үеийн цаг хүртэл авахын тулд та түүний гүйлгээний бүртгэлийн сүүлийг нөөцлөх ёстой. tail-log backup нь мэдээллийн сангийн сэргээх төлөвлөгөөний хамгийн сүүлийн нөөц юм.

Тайлбар: Бүх сэргээх хувилбарууд нь сүүл бүртгэлийн нөөцлөлт шаарддаггүй. Хэрэв сэргээх цэг нь өмнөх логийн нөөцлөлтөд агуулагдсан бол танд энэ шаардлагагүй. Хэрэв та мэдээллийн санг зөөж эсвэл сольж (дарж бичиж) байгаа бөгөөд хамгийн сүүлийн үеийн нөөцлөлтийн дараах хугацаанд сэргээх шаардлагагүй бол сүүл бүртгэлийн нөөцлөлт шаардлагагүй.
2.4.1 Tail-Log нөөцлөлт шаардлагатай үед
Дараах хувилбарууд нь та хэзээ бүртгэлийн нөөц хуулбарыг авах ёстойг тайлбарладаг.
Онлайн мэдээллийн санг сэргээх: Хэрэв мэдээллийн сан онлайн байгаа бөгөөд та мэдээллийн санд сэргээх үйлдлийг хийхээр төлөвлөж байгаа бол бүртгэлийн сүүлийг нөөцөлж эхэлнэ үү. Онлайн мэдээллийн санд алдаа гарахаас зайлсхийхийн тулд нөөцлөлт хийхдээ BACKUP Transact-SQL мэдэгдлийн WITH NORECOVERY сонголтыг ашиглах ёстой. SQL Server мэдээллийн сан.
Офлайн мэдээллийн санг сэргээх: Хэрэв мэдээллийн сан офлайн байгаа бөгөөд эхлэхгүй байгаа бөгөөд та мэдээллийн санг сэргээх шаардлагатай бол эхлээд логын сүүл хэсгийг нөөцлөөрэй. Энэ үед ямар ч гүйлгээ хийгдэхгүй тул WITH NORECOVERY сонголтыг ашиглах нь заавал биш юм. Энэ тохиолдолд NORECOVERY нь зөвхөн хуулбарлах гүйлгээний лог нөөцлөлттэй адил юм.
Гэмтсэн мэдээллийн сангийн нөөцлөлт: Хэрэв өгөгдлийн сан гэмтсэн бол НӨӨЦЛӨЛТ-ийн мэдэгдлийн WITH CONTINUE_AFTER_ERROR сонголтыг ашиглан tail-log-ийн нөөц хуулбарыг авч үзнэ үү. Гэмтсэн мэдээллийн сан дээр бүртгэлийн файлууд гэмтэлгүй, мэдээллийн сан нь tail-логийн нөөцлөлтийг дэмждэг төлөвт байгаа, мэдээллийн санд ямар нэгэн бөөнөөр бүртгэгдсэн өөрчлөлт байхгүй тохиолдолд л логийн сүүлийг нөөцлөх нь амжилттай болно. Хэрэв tail-логийн нөөцлөлтийг үүсгэх боломжгүй бол хамгийн сүүлийн үеийн MS-ийн дараа хийгдсэн аливаа гүйлгээ SQL Server нөөц мэдээллийн сан алдагдсан.
2.4.2 Tail-Log нөөцлөх гол сонголтууд
НЭГДСЭН НӨХЦӨЛТТЭЙ: Хэрэв та дараа нь сэргээхээр төлөвлөж буй онлайн мэдээллийн сангийн логыг нөөцөлж байгаа бол WITH NORECOVERY ашиглана уу. NORECOVERY нь мэдээллийн санг офлайн болгодог. Та мөн нөөцлөх боломжтой SQL Server офлайн мэдээллийн сангийн сүүлний бүртгэл. Хэрэв та мэдээллийн санг офлайнаар орхихыг хүсвэл WITH NORECOVERY-г ашиглана уу. Хэрэв та COPY_ONLY эсвэл NO_TRUNCATE сонголтыг заагаагүй бол бүртгэл таслагдах болно гэдгийг анхаарна уу.
ҮРГЭЛЖЛЭГЧ_АЛДААНЫ ДАРАА: Зөвхөн гэмтсэн мэдээллийн сангийн сүүлийг хуулбарлаж байгаа тохиолдолд CONTINUE_AFTER_ERROR-г ашиглана уу. Гэмтсэн өгөгдлийн сан дээр логийн сүүлийг нөөцлөх үед логийн нөөцлөлтөд ихэвчлэн хадгалагддаг метадата зарим нь боломжгүй байж магадгүй.
2.5 Зөвхөн хуулбарлах нөөцлөлт
Зөвхөн хуулбарлах нөөцлөлт нь ердийн нөөцлөлтийн дараалалд нөлөөлөхгүйгээр бие даасан нөөцлөлт үүсгэдэг. Тэд дифференциал нөөц сүлжээ, гүйлгээний бүртгэлийн тасралтгүй байдлыг тасалдуулахгүй.
Зөвхөн хуулбарлах нөөцлөлтийг дараах зорилгоор ашиглах:
- Туршилт эсвэл хөгжүүлэлтийн мэдээллийн сангийн хуулбар үүсгэх
- Хуваарьт нөөцлөлтөд нөлөөлөхгүйгээр түр зуурын нөөцлөлт
- Томоохон өөрчлөлт эсвэл туршилт хийхээс өмнө нөөцлөх
2.6 Файл болон файлын бүлгийн нөөцлөлт
Файл болон файлын бүлгийн нөөцлөлт нь бүхэл бүтэн мэдээллийн сангаас илүү тодорхой мэдээллийн сангийн файлууд эсвэл файлын бүлгүүдийг чиглүүлдэг. Энэ арга нь бүх зүйлийг нөөцлөхөд хэтэрхий удаан хугацаа шаардагддаг маш том мэдээллийн сангуудад сайн ажилладаг.
Үүнд:
- Том өгөгдлийн сангийн нөөцлөлтийг хурдан хийх
- Олон файлын бүлгүүдийн зэрэгцээ нөөцлөлт
- Мөхлөгт сэргээх сонголтууд
- Зөвхөн унших боломжтой файлын бүлгүүдийн нөөцлөлтийн хуваарийг оновчтой болгосон
2.7 Хэсэгчилсэн нөөцлөлт
Хэсэгчилсэн нөөцлөлтөд зөвхөн унших боломжтой файлын бүлгээс бусад үндсэн файлын бүлгийн бүх өгөгдөл болон унших-бичих файлын бүлгүүд орно. Энэ нь зөвхөн унших боломжтой файлын бүлэгт хадгалагдсан статик түүхэн өгөгдөл бүхий өгөгдлийн сангийн нөөцийн хэмжээ, хугацааг багасгадаг.
3. SQL Server Сэргээх загварууд
SQL Server Сэргээх загварууд нь ямар төрлийн нөөцлөх боломжтой, гүйлгээний бүртгэлийг хэрхэн удирдаж байгааг тодорхойлдог.
3.1 Сэргээх энгийн загвар
3.1.1 Онцлог шинж чанар ба хэрэглээний тохиолдол
Энгийн сэргээх нь хяналтын цэг бүрийн дараа гүйлгээний бүртгэлийг автоматаар тайрч, бүртгэлийн нөөцлөлт хийх шаардлагагүй зай эзэлнэ.
Шилдэг:
- Мэдээллийн санг хөгжүүлэх, турших
- Нөөцлөлтийн хооронд өгөгдөл алдагдах боломжтой мэдээллийн сан
- Дахин ажиллуулах боломжтой ETL процесс бүхий мэдээллийн агуулахууд
- Зөвхөн унших боломжтой эсвэл мэдээлэх мэдээллийн сан
3.1.2 Нөөцлөх сонголтууд боломжтой
Энгийн сэргээх дэмжлэг:
- Бүрэн нөөцлөлт
- Дифференциал нөөцлөлт
- Файл болон файлын бүлгийн нөөцлөлт
- Зөвхөн хуулбарлах нөөцлөлт
Гүйлгээний бүртгэлийн нөөцлөлтүүд нь боломжгүй энгийн сэргээх загварт.
3.2 Бүрэн сэргээх загвар
3.2.1 Онцлог, давуу тал
Бүрэн сэргээх нь бүх гүйлгээг бүртгэж, тэдгээрийг нөөцлөх хүртэл бүртгэлийн бүртгэлийг хадгалдаг. Энэ нь гүйлгээний бүртгэлийн нөөцлөлт дотор ямар ч үед өгөгдлийг бүрэн сэргээх боломжийг олгодог.
Түлхүүрүүд:
- Өгөгдлийн алдагдлын хамгийн бага боломж
- Цаг хугацаанд нь сэргээх чадвар
- Бүртгэлийн тээвэрлэлт, мэдээллийн сангийн толин тусгалыг дэмждэг
- Сэргээх хамгийн их уян хатан байдал
3.2.2 Гүйлгээний бүртгэлийн менежмент
Бүрэн сэргээх үед та гүйлгээний бүртгэлийн байнгын нөөцлөлтийг хийх ёстой:
- Гүйлгээний бүртгэлийг дискний зайг дүүргэхээс сэргийлнэ
- Тасралтгүй нөөцийн сүлжээг хадгалах
- Цаг хугацаанд нь сэргээхийг идэвхжүүл
- Лог файлын өсөлтийг хянах
Ердийн нөөцлөлтийн хуваарь: долоо хоног бүр бүрэн нөөцлөлт, өдөр бүр дифференциал нөөцлөлт, 15-30 минут тутамд бүртгэлийн нөөцлөлт.
3.3 Бөөн бүртгэлтэй сэргээх загвар
3.3.1 Бөөнөөр бүртгэсэн програмыг хэзээ ашиглах вэ
Бөөн бүртгэлтэй сэргээх нь BULK INSERT, SELECT INTO, индексийг дахин бүтээх гэх мэт бөөн үйлдлүүдийг хамгийн бага бүртгэдэг бөгөөд харин байнгын гүйлгээний бүртгэлийг бүрэн бүртгэдэг.
Бөөн бүртгэлтэй сэргээхийг дараах тохиолдолд ашиглана:
- Их хэмжээний импортын үйл ажиллагаа явуулах
- Том хүснэгтүүд дээрх индексүүдийг дахин бүтээх
- Хамгийн бага бүртгэлээс ашиг тустай үйлдлүүдийг гүйцэтгэх
- Тодорхой үйл ажиллагааны явцад гүйлгээний бүртгэлийн хэмжээг багасгах шаардлагатай байна
3.3.2 Хязгаарлалт ба анхаарах зүйлс
Чухал хязгаарлалтууд:
- Бөөн үйл ажиллагааны үед цаг алдалгүй сэргээх боломжгүй
- Бөөн үйл ажиллагаа явагдах үед бүртгэлийн нөөцлөлтүүд илүү том байна
- Шаардлагатай бол бүрэн болон бөөнөөр нь сэлгэх ёстой
3.4 Сэргээх зөв загварыг сонгох
Бизнесийн шаардлагад үндэслэн сэргээх загвараа сонгоно уу:
| Сэргээх загвар | Өгөгдөл алдагдах эрсдэл | Цаг хугацаанд нь сэргээх | Шилдэг байна |
|---|---|---|---|
| Энгийн | Сүүлийн нөөцлөлтөөс хойш гарсан өөрчлөлтүүд | Үгүй | Хөгжүүлэгч/туршилт, хүлээн зөвшөөрөгдөх мэдээллийн алдагдал |
| Бүтэн | Хамгийн бага (ихэвчлэн минут) | Тийм | Үйлдвэрлэлийн мэдээллийн сан, чухал өгөгдөл |
| Бөөнөөр бүртгэгдсэн | Сүүлчийн бүртгэлийн нөөцөөс хойш гарсан өөрчлөлтүүд | Бөөнөөр ажиллах үед хязгаарлагдмал | Бөөнөөр үйл ажиллагаа явуулах үед түр хугацаагаар ашиглах |
4. Нөөцлөх SQL Server SSMS ашиглан мэдээллийн сан
4.1 Урьдчилсан нөхцөл ба бэлтгэл
Нөөцлөхөөс өмнө SQL Server мэдээллийн сан, баталгаажуулах:
- Танд зохих зөвшөөрөл байна (db_owner эсвэл НӨӨЦЛӨЛТИЙН ӨГӨГДЛИЙН САНГИЙН зөвшөөрөл)
- Нөөц файлд хангалттай дискний зай байна
- SQL Server Management Studio (SSMS) суулгасан
- Сүлжээний байршилд нөөцлөлт хийвэл сүлжээний замд хандах боломжтой
4.2 Алхам алхмаар: SSMS-ээр бүрэн нөөцлөх
Өөрийн бүрэн нөөцлөлтийг үүсгэхийн тулд эдгээр алхмуудыг дагана уу SQL Server SSMS ашиглан мэдээллийн сан.
4.2.1 Нээлт SQL Server Удирдлагын студи
- Эхлэх SQL Server Удирдлагын студи
- Өөрийн серверийн нэрийг оруулна уу Серверийн нэр Талбар
- Баталгаажуулах аргаа сонгоно уу
- Дарах холбоно
4.2.2 Өгөгдлийн сан болон нөөцлөх сонголтуудыг сонгох
- In Объект хайгч, өргөжүүлэх мэдээллийн сан Зангилаа
- Нөөцлөхийг хүсч буй мэдээллийн сан дээрээ хулганы баруун товчийг дарна уу
- сонгоно уу асуудлууд -> Back Up
- Дахь Өгөгдлийн санг нөөцлөх цонхонд мэдээллийн сангийн нэрийг шалгана уу
- сонгоно уу Бүтэн зэрэг Нөөцлөх төрөл
4.2.3 Нөөцлөх цэгийг тохируулах
- дагуу Очих газар, дарна уу Remove үндсэн замыг арилгах (шаардлагатай бол)
- Дарах нэмэх нөөцлөх шинэ байршлыг зааж өгөх
- Файлын зам, нэрийг оруулна уу .бак Өргөтгөл
- Дарах OK очих газраа баталгаажуулна уу
4.2.4 Advanced Backup Тохиргоо
- Дарах Хэвлэл мэдээллийн сонголтууд зүүн самбар дээр
- Нөөцлөх сонголтуудыг сонгоно уу:
- Одоо байгаа бүх нөөцлөлтийн багцыг дарж бичнэ үү – Одоо байгаа нөөцлөлтүүдийг солино
- Одоо байгаа нөөцлөлтийн багцад нэмнэ үү - Одоо байгаа нөөц файлд нэмнэ
- Дарах Нөөцлөх сонголтууд зүүн самбар дээр
- Нэмэлт тохиргоог тохируулах:
- Нөөцлөлтийг шахах – Нөөц файлын хэмжээг багасгана
- Нөөцлөлтийг шифрлэх - Нууц мэдээллийг хамгаална
- Дуусмагц нөөцлөлтийг баталгаажуулна уу - Нөөцлөлтийн бүрэн бүтэн байдлыг шалгана
4.2.5 Нөөцлөлтийг гүйцэтгэх
- доторх бүх тохиргоог шалгана уу Өгөгдлийн санг нөөцлөх цонх
- Дарах OK нөөцлөлтийн процессыг эхлүүлэхийн тулд
- Нөөцлөлт дуусах хүртэл хүлээнэ үү
- Нөөцлөлт дуусахад амжилттай мессеж гарч ирнэ
- Дарах OK баталгаажуулах харилцах цонхыг хаахын тулд
4.3 SSMS ашиглан дифференциал нөөцлөлт үүсгэх
Дифференциал нөөцлөлт үүсгэхийн тулд бүрэн нөөцлөлттэй ижил алхмуудыг дагана уу, гэхдээ сонгоно уу Дифференциал 4.2.2-р алхам дахь нөөцийн төрөл. Дифференциал нөөцлөлт нь үндсэн суурь болгон бүрэн нөөцлөлтийг шаарддаг гэдгийг санаарай.
4.4 Гүйлгээний бүртгэлийн нөөцлөлтийг SSMS ашиглан үүсгэх
Гүйлгээний бүртгэлийн нөөцлөлтийг зөвхөн Бүрэн эсвэл Бөөнөөр бүртгэлтэй сэргээх загвар ашиглан мэдээллийн санд ашиглах боломжтой.
- Мэдээллийн сангийн баруун товчийг дарна уу Объект хайгч
- сонгоно уу асуудлууд -> Back Up
- сонгоно уу Гүйлгээний бүртгэл нөөцийн төрөл болгон
- Шаардлагатай бол очих газар болон сонголтыг тохируулна уу
- Дарах OK бүртгэлийн нөөц үүсгэх
4.5 SSMS ашиглан зөвхөн хуулбарлах нөөцлөлт үүсгэх
Зөвхөн хуулбарлах нөөцлөлт нь таны байнгын нөөцлөлтийн дараалалд саад болохгүй.
- Бүрэн нөөцлөлт үүсгэх алхмуудыг дагана уу
- Дахь Нөөцлөх сонголтууд Page
- шалгана уу Зөвхөн хуулбарлах нөөц сонголт
- Нөөцлөх процессыг хэвийн байдлаар дуусгана уу
5. Нөөцлөх SQL Server T-SQL ашиглан мэдээллийн сан
5.1 НӨӨЦЛӨЛТИЙН МЭДЭЭЛЛИЙН САНГИЙН үндсэн синтакс
T-SQL BACKUP DATABASE тушаал нь программчлагдсан хяналтыг хангадаг SQL Server нөөцлөлт.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 T-SQL командуудыг бүрэн нөөцлөх
5.2.1 Энгийн бүрэн нөөц скрипт
Хамгийн бага сонголттой үндсэн бүрэн нөөцлөлтийг үүсгэ:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Сонголттой бүрэн нөөцлөлт
Тодорхойлолттой мэдээлэл болон форматын сонголтуудыг нэмнэ үү:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
INIT,
NAME = 'AdventureWorks-Full Database Backup',
DESCRIPTION = 'Full backup of AdventureWorks database',
STATS = 10
GO
Сонголтуудыг тайлбарлав:
- ФОРМАТ – Шинэ нөөц багц үүсгэнэ
- Init – Одоо байгаа нөөц файлыг дарж бичнэ
- нэр – Нөөц багцын нэрийг өгнө
- ТОДОРХОЙЛОЛТ - Тайлбарлах текст нэмнэ
- Stats - 10% тутамд ахиц дэвшлийг харуулдаг
5.3 Дифференциал нөөцлөх T-SQL командууд
Дифференциал нөөцлөлт нь DIFFERENTIAL сонголтыг ашигладаг:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Гүйлгээний бүртгэлийг нөөцлөх T-SQL командууд
Гүйлгээний бүртгэлийн нөөцлөлтөд НӨӨЦЛӨЛТИЙН LOG ашиглана уу:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Нарийвчилсан T-SQL нөөцлөх сонголтууд
5.5.1 Олон файл руу нөөцлөх
Илүү хурдан ажиллахын тулд нөөцлөлтийг олон файлд түгээх:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
DISK = 'D:\Backups\AdventureWorks_2.bak',
DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO
5.5.2 Шахалтын тусламжтайгаар нөөцлөх
Нөөц файлын хэмжээ болон сүлжээний зурвасын өргөнийг багасгах:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Шифрлэлт бүхий нөөцлөлт
Шифрлэлтээр нууц мэдээллийг хамгаалах:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
),
STATS = 10
GO
5.5.4 Нууц үгийн хамгаалалт бүхий нөөцлөлт
Нууц үгийн хамгаалалт нэмэх (хуучирсан, оронд нь шифрлэлтийг ашигла):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Толин тусгал нөөцлөлт
Өөр өөр байршилд нэгэн зэрэг хуулбар үүсгэх:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 T-SQL нөөцлөх жишээнүүд болон скриптүүд
Алдаатай ажиллах скриптийг бүрэн нөөцлөх:
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);
SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';
BEGIN TRY
BACKUP DATABASE @DatabaseName
TO DISK = @BackupPath
WITH COMPRESSION,
INIT,
NAME = @DatabaseName + '-Full Backup',
STATS = 10;
PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO
6. Нөөцлөх SQL Server PowerShell ашиглан мэдээллийн сан
6.1 PowerShell нөөц Cmdlets
SQL Server PowerShell модуль нь нөөц автоматжуулалтад зориулсан cmdlet-ээр хангадаг:
- Backup-SqlDatabase – Өгөгдлийн сангийн нөөцлөлтийг бий болгоно
- Restore-SqlDatabase – Өгөгдлийн сангийн нөөцлөлтийг сэргээнэ
- Get-SqlDatabase – Өгөгдлийн сангийн мэдээллийг татаж авна
Импортлох SQL Server модуль:
Import-Module SqlServer
6.2 PowerShell ашиглан нөөц скрипт үүсгэх
PowerShell нөөцлөх үндсэн тушаал:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Дифференциал нөөцлөх жишээ:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Гүйлгээний бүртгэлийн нөөц:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 PowerShell ашиглан нөөцлөлтийг автоматжуулах
Олон өгөгдлийн сангийн автомат нөөцлөлтийн скрипт үүсгэх:
# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
New-Item -ItemType Directory -Path $BackupPath
}
# Backup each database
foreach ($Database in $Databases) {
$BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
try {
Backup-SqlDatabase -ServerInstance $ServerInstance `
-Database $Database `
-BackupFile $BackupFile `
-BackupAction Database `
-CompressionOption On
Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
}
catch {
Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
}
}
7. Нөөцлөх SQL Server Командын мөрийг ашиглан мэдээллийн сан
SQL Server нөөцлөх боломжийг олгодог тушаалын мөрийн хэрэгслүүдээр хангадаг SQL Server SSMS эсвэл график интерфэйс ашиглахгүйгээр мэдээллийн сан. Эдгээр хэрэгслүүд нь автоматжуулалт, скрипт бичих, алсын удирдлагын хувилбарт зайлшгүй шаардлагатай.
7.1 SQLCMD нөөц мэдээллийн санг ашиглах
SQLCMD нь орчин үеийн командын шугамын хэрэгсэл юм SQL Server Энэ нь OSQL-ийг сольсон. Энэ нь сайжруулсан функцээр хангадаг бөгөөд тушаал хүлээх мөрөөс T-SQL командуудыг гүйцэтгэхэд зориулагдсан хэрэгсэл юм.
7.1.1 Үндсэн SQLCMD синтакс
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -С: -ийг зааж өгдөг SQL Server жишээний нэр
- -г: Өгөгдлийн сангийн нэрийг зааж өгнө
- -Асуулт: Асуулга хийж, гарна
- - БА: Windows Authentication ашигладаг
- -У: Тодорхойлдог SQL Server нэвтрэх хэрэглэгчийн нэр
- -П: Нууц үгийг зааж өгнө SQL Server нэвтрэх
7.1.2 SQLCMD ашиглан нөөцлөлт үүсгэх
Нөөцлөхийн тулд SQL Server SQLCMD ашиглан дараах алхмуудыг дагана уу:
- Нээлттэй Коммандын шугам or PowerShell
- Руу оч SQL Server хэрэгслүүдийн лавлах (суулгах явцад ихэвчлэн PATH руу нэмдэг)
- SQLCMD нөөц өгөгдлийн сангийн командыг тохирох параметрээр гүйцэтгэнэ
- Нөөц файлыг амжилттай үүсгэсэн эсэхийг шалгана уу
Windows Authentication ашиглан бүрэн нөөцлөх командын жишээ:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Хэрэглэх жишээ SQL Server Баталгаажуулалт:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
SQLCMD ашиглан дифференциал нөөцлөлт үүсгэх
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
SQLCMD ашиглан гүйлгээний бүртгэлийн нөөцлөлтийг үүсгэж байна
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.1.3 Хэвлэн нийтлэгчийн мэдээллийн санг нөөцлөх SQL Server Хуулбарлах
Хэвлэн нийтлэгчийн мэдээллийн санг нөөцлөх үед SQL Server Хуулбарлахдаа хуулбарлалтын мета өгөгдлийг хадгалах, гүйлгээний тогтвортой байдлыг хангахын тулд WITH REPLICATION сонголтыг ашиглана уу.
-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION,
COMPRESSION,
CHECKSUM,
INIT,
STATS = 10;
GO
Дэлгэрэнгүй мэдээллийг SQL Server хуулбарлалт, биднийг үзнэ үү дэлгэрэнгүй гарын авлага.
7.2 OSQL нөөцлөх мэдээллийн санг ашиглах
OSQL нь хуучин командын мөрийн хэрэгсэл юм SQL Server. Майкрософт оронд нь SQLCMD ашиглахыг зөвлөж байгаа ч OSQL нь хуучин скриптүүд болон системүүдтэй буцаж нийцэх боломжтой хэвээр байна.
7.2.1 OSQL-ийн үндсэн синтакс
OSQL синтакс нь SQLCMD-тэй төстэй:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -С: SQL Server жишээний нэр
- -г: Өгөгдлийн сангийн нэр
- -Асуулт: Асуулга хийж, гарна
- - БА: Итгэмжлэгдсэн холболтыг ашигладаг (Windows баталгаажуулалт)
- -У: Нэвтрэх хэрэглэгчийн нэр
- -П: Нэвтрэх нууц үг
7.2.2 OSQL ашиглан нөөцлөлт үүсгэх
OSQL өгөгдлийн сангийн нөөцлөх үйлдлийг гүйцэтгэхийн тулд:
- Нээлттэй Коммандын шугам
- Таны OSQL байгаа эсэхийг шалгана уу SQL Server суулгах
- OSQL нөөцлөх командыг гүйцэтгэнэ
Бүрэн нөөцлөх жишээ:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Дифференциал нөөцлөх жишээ:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Гуравдагч этгээд SQL Server Нөөцлөх хэрэгсэл
Хэдийгээр SQL Server Төрөл бүрийн нөөцлөх боломжуудыг багтаасан бөгөөд гуравдагч талын хэрэгслүүд нь нарийн төвөгтэй шаардлага бүхий байгууллагуудад сайжруулсан функцууд, автоматжуулалт, аж ахуйн нэгжийн түвшний менежментийг санал болгодог. Эдгээр шийдлүүд нь дэвшилтэт шахалт, төвлөрсөн удирдлага, нөөцлөлтийг хялбаршуулсан ажлын урсгалаар хангадаг SQL Server олон орчны мэдээллийн сан.
8.1 Veeam нөөцлөлт SQL Server
Veeam нь тусгайлан нөөцлөхөд зориулагдсан өгөгдөл хамгаалах цогц шийдлүүдийг санал болгодог SQL Server үйлдвэрлэлийн системд хамгийн бага нөлөө үзүүлдэг мэдээллийн сан.
Гол онцлог:
- Програмыг мэддэг боловсруулалт SQL Server нөөцийн тууштай байдал
- Гүйлгээний бүртгэлийг нөөцлөх, удирдах
- Бүрэн сэргээх сонголттойгоор цаг алдалгүй сэргээх
- Мэдээллийн нэгдсэн хамгаалалтыг хангахын тулд Veeam Backup & Replication-тэй нэгтгэсэн
- Автомат нөөцлөлтийн баталгаажуулалт, баталгаажуулалт
- Always On Availability бүлгүүдийн дэмжлэг
- VM түвшний болон хэрэглээний түвшний SQL Server нөөцлөх сонголтууд
8.2 Barracuda нөөцлөлт SQL Server
Barracuda нь MS-д зориулсан хялбаршуулсан менежмент бүхий үүлэн нэгдсэн нөөцлөлтийн шийдлүүдийг санал болгодог SQL Server мэдээллийн сангийн үйлдлийг нөөцлөх.
Гол онцлог:
- Автоматжуулсан SQL Server нөөц хуваарь
- Barracuda Cloud Storage-д суурилуулсан үүлэн хуулбар
- Глобал давхардал ба шахалт
- Шуурхай орон нутгийн сэргээх чадвар
- Вэб дээр суурилсан удирдлагын консол
- Бүрэн, дифференциал, гүйлгээний бүртгэлийн нөөцлөлтийг дэмжих
- Үл хувиршгүй нөөцлөлт бүхий Ransomware хамгаалалт
8.3 Veritas NetBackup SQL Server
Veritas NetBackup нь иж бүрэн хамгаалалтыг хангадаг аж ахуйн нэгжийн түвшний нөөц платформ юм SQL Server нарийн төвөгтэй мэдээллийн технологийн орчин дахь мэдээллийн сан.
Гол онцлог:
- Мянга мянган хүний аж ахуйн нэгжийн хэмжээний нөөц менежмент SQL Server тохиолдлууд
- Нарийвчилсан давхардал болон шахалтын алгоритмууд
- Нөөцлөлтийн уян хатан бодлого, хуваарь
- Бүгдийг дэмжих SQL Server сэргээх загварууд
- Соронзон хальсны сангууд болон үүлэн хадгалалттай нэгтгэх
- Өгөгдлийн сан, хүснэгт, объектыг мөхлөгт сэргээх
- Олон платформын дэмжлэг (Windows, Linux SQL Server)
- Автомат нөөцлөлтийн амьдралын мөчлөгийн удирдлага
8.4 Commvault-д зориулсан бүрэн нөөцлөлт ба сэргээх SQL Server
Commvault нь иж бүрэн нөөцлөлт бүхий ухаалаг мэдээллийн менежментийг өгдөг SQL Server чадвар, дэвшилтэт автоматжуулалтын онцлогууд.
Гол онцлог:
- AI-д суурилсан нөөц оновчлол ба гажиг илрүүлэх
- Нөөцлөх, сэргээх, архивлах нэгдсэн платформ
- Нарийвчилсан SQL Server нөөц шахалт (90% хүртэл бууруулах)
- Гамшгаас хамгаалах автомат зохион байгуулалт
- Шууд синхрончлол нь тэгтэй ойролцоо RPO хамгаалалттай
- Дэмжлэг үзүүлэх SQL Server газар дээр нь, үүлэн болон хайбрид байршуулалт
- Хормын хувилбар дээр суурилсан нөөцлөлтөд зориулсан IntelliSnap
- Иж бүрэн дагаж мөрдөх, цахим нээлт хийх чадвар
8.5 Cohesity DataProtect-д зориулагдсан SQL Server
Cohesity нь орчин үеийн хэт нэгдмэл дэд бүтцээр дараагийн үеийн өгөгдлийн менежментийг хангадаг SQL Server нөөцлөх үйлдлүүд.
Гол онцлог:
- Хялбаршуулсан удирдлагад зориулсан вэб хэмжээний архитектур
- Шуурхай массыг сэргээх чадвар SQL Server өгөгдлийн сан
- Аппликешнд нийцсэн хормын хувилбарууд
- Бүх нөөцлөлтүүдийн даяарх давхардал
- Төрөлхийн үүлэн нэгтгэл (AWS, Azure, Google Cloud)
- Баригдсан аналитик болон хяналтын самбар
- Өгөгдлийн сангийн чадавхийг хувилах, турших
- Өөрчлөгдөхгүй хормын хувилбар бүхий Ransomware хамгаалалт
8.6 Red Gate SQL Backup Pro
Red Gate SQL Backup Pro нь зөвхөн оновчтой болгоход чиглэсэн тусгай хэрэгсэл юм SQL Server дээд зэргийн шахалт, гүйцэтгэлээр нөөцлөх, сэргээх үйлдлүүд.
Гол онцлог:
- Салбарт тэргүүлэгч шахалтын харьцаа (95% хүртэл)
- Нөөцлөхөд зориулсан сүлжээний уян хатан байдал SQL Server найдваргүй холболтууд дээр
- 256 битийн AES бүхий нөөц шифрлэлт
- Нөөц хуулбарыг баталгаажуулах, бүрэн бүтэн байдлыг шалгах
- Нарийвчилсан нөөцлөлтийн түүх, тайлан
- нь нэгдсэн SQL Server Удирдлагын студи
- Сүлжээний байршил болон үүлэн хадгалах сан руу нөөцлөхөд дэмжлэг үзүүлэх
- Зэрэгцээ нөөцлөлт болон сэргээх ажиллагааг хурдан шуурхай болгох
9. Хэрхэн сэргээх вэ SQL Server Өгөгдлийн сан
9.1 Сэргээх үйл явцын тухай ойлголт
Сэргээх SQL Server өгөгдлийн сан нь нөөц файлуудаас мэдээллийн санг дахин үүсгэдэг. Сэргээх процесс нь нөөц файлыг уншиж, мэдээллийн баазыг нөөцөлсөн төлөвт нь сэргээдэг.
Анхаарах зүйл:
- Сэргээх нь одоо байгаа мэдээллийн санг дарж бичдэг
- Сэргээх явцад хэрэглэгчид салсан байна
- Сэргээх нь нөөцлөлтийн дарааллыг дагаж мөрдөх ёстой (бүтэн, дараа нь дифференциал, дараа нь бүртгэлүүд)
- Сэргээх ажиллагааны явцад мэдээллийн сан боломжгүй байна
9.2 SSMS ашиглан бүрэн нөөцлөлтийг сэргээх
Өгөгдлийн сангийн бүрэн нөөцлөлтийг сэргээхийн тулд эдгээр алхмуудыг дагана уу.
9.2.1 Алхам алхмаар сэргээх үйл явц
- Нээлттэй SQL Server Удирдлагын студи болон сервертэйгээ холбогдоно уу
- In Объект хайгч, хулганы баруун товчийг дарна уу мэдээллийн сан
- сонгоно уу Мэдээллийн санг сэргээх
- Дахь Эх сурвалж хэсэг сонгох төхөөрөмжийн
- дээр дарна уу ... товчлуурыг дарж нөөц файлуудыг хайх боломжтой
- Дарах нэмэх .bak файл руугаа очно уу
- Нөөц файлыг сонгоод товшино уу OK
- Дахь Очих газар хэсэгт мэдээллийн сангийн нэрийг оруулна уу
- Сэргээхийн тулд нөөцлөлтийн багцуудыг шалгана уу
- Дарах OK сэргээх ажиллагааг эхлүүлэхийн тулд
9.2.2 Сонголт болон тохиргоог сэргээх
Дарах сонголтууд тохируулахын тулд зүүн талын самбарт:
- Одоо байгаа мэдээллийн баазыг дарж бичих (REPLACE-тэй) – Одоо байгаа мэдээллийн баазыг сэргээх боломжийг олгодог
- Хуулбарлах төлөвүүдийг хадгалах (WITH KEEP_REPLICATION) - хадгал SQL Server хуулбар төлөв
- Сэргээгдсэн мэдээллийн санд хандах хандалтыг хязгаарлах (WITH RESTRICTED_USER) – Сэргээлтийн дараах хандалтыг хязгаарладаг
- Сэргээх төлөв – СЭРГЭЭЛТТЭЙ СЭРГЭЭХ эсвэл NORECOVERY хоёрын аль нэгийг нь сонгоно уу
9.3 Дифференциал нөөцлөлтийг сэргээх
Дифференциал сэргээхэд бүрэн болон дифференциал нөөцлөлт шаардлагатай:
- Эхлээд бүрэн нөөцлөлтийг сэргээх NORECOVERY сонголт
- Дараа нь дифференциал нөөцлөлтийг сэргээх Баярлалаа сонголт
T-SQL жишээ:
-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO
9.4 Гүйлгээний бүртгэлийн нөөцлөлтөөр сэргээх
Цаг алдалгүй сэргээхийн тулд дараах дарааллаар сэргээнэ үү.
- NORECOVERY ашиглан бүрэн нөөцлөлтийг сэргээнэ үү
- NORECOVERY ашиглан дифференциал нөөцлөлтийг сэргээх (боломжтой бол)
- NORECOVERY ашиглан гүйлгээний бүртгэлийн нөөцлөлтийг дарааллаар нь сэргээнэ үү
- RECOVERY ашиглан бүртгэлийн эцсийн нөөцлөлтийг сэргээнэ үү
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO
9.5 Цаг хугацаанд нь сэргээх
STOPAT сонголтыг ашиглан өгөгдлийн санг тодорхой цаг хугацаанд сэргээх:
-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO
9.6 Хүснэгтийг сэргээх
SQL Server нөөц файлуудаас хүснэгтийн түвшний шууд сэргээлтийг дэмждэггүй. Гэсэн хэдий ч зарим шийдэл байсаар байна.
9.6.1 1-р арга: Өгөгдлийн сангийн товч мэдээлэл (урьдчилан сэргийлэхэд хамгийн тохиромжтой)
Өгөгдлийн сангийн агшин зураг нь асуудал гарахаас өмнө үүсгэсэн бол хүснэгтийн өгөгдлийг сэргээх хамгийн хурдан аргыг хангадаг. Агшин зураг гэдэг нь өгөгдлийн сангийн тодорхой цаг хугацаанд зөвхөн унших боломжтой, статик харагдац юм.
Өгөгдлийн сангийн агшин зураг үүсгэх:
-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data,
FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO
Snapshot-оос хүснэгтийн өгөгдлийг сэргээх:
USE ProductionDB;
GO
-- Replace entire table content
BEGIN TRANSACTION;
-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;
-- Clear current data
TRUNCATE TABLE dbo.Orders;
-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;
-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;
COMMIT TRANSACTION;
GO
Хувилбарын шаардлага: Өгөгдлийн сангийн агшин зургуудыг дараахаас авах боломжтой SQL Server Enterprise Edition (бүх хувилбарууд) болон Standard Edition-с эхэлнэ SQL Server 2016 оны SP1.
9.6.2 2-р арга: Түр мэдээллийн сан руу сэргээх (хамгийн түгээмэл)
Энэ арга нь асуудал гарч ирээд ямар ч зураг байхгүй бол хүснэгтийн өгөгдлийг сэргээх шаардлагатай үед ажилладаг:
- Түр зуурын мэдээллийн сан руу нөөцлөлтийг сэргээх
- Түр зуурын мэдээллийн сангаас хүснэгтийн өгөгдлийг одоогийн мэдээллийн сан руу хуулах
9.7 Хуудас сэргээх
Хуудас сэргээх нь зөвхөн эвдэрсэн хуудсуудыг чиглүүлснээр ажиллахгүй байх хугацааг багасгаж, мэдээллийн санг бүхэлд нь сэргээхгүйгээр гэмтсэн хуудсуудыг сэргээдэг. Энэ функц нь зөвхөн Бүрэн эсвэл Бөөнөөр бүртгэгдсэн сэргээх загваруудад л боломжтой бөгөөд хуудасны нөөцлөлтөөс одоогийн бүртгэлийн файлаар дамжуулан гүйлгээний бүртгэлийн нөөцлөлтийн тасралтгүй гинжин хэлхээг шаарддаг.
Хуудсыг сэргээхийн тулд эхлээд гэмтсэн хуудсуудыг тодорхойлж, сүүлний бүртгэлийн нөөц хуулбарыг авч, тодорхой хуудсуудыг сэргээж, дараа нь бүх гүйлгээний бүртгэлийг ашиглана уу:
-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');
-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;
-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO
Тайлбар: Хуудас сэргээх нь Энгийн сэргээх загварт боломжгүй. Та системийн хүснэгтүүд эсвэл үндсэн файлын бүлгийн мета өгөгдлөөс хуудсуудыг сэргээх боломжгүй.
9.8 ширхэгийн нөхөн сэргээлт
Хэсэгчилсэн сэргээлт (хэсэгчилсэн сэргээлт) нь өгөгдлийн санг файлын бүлгийн түвшинд үндсэн файлын бүлгээс эхлэн үе шаттайгаар сэргээдэг. Энэ нь чухал өгөгдлийг шууд онлайн болгож, харин чухал бус өгөгдлийг ар талд сэргээдэг. Энгийн сэргээлтийн загварын дагуу бүх унших-бичих файлын бүлгүүдийг үндсэн файлын бүлэгтэй хамт сэргээх ёстой; зөвхөн унших боломжтой файлын бүлгүүдийг тусад нь сэргээж болно. Бүрэн эсвэл бөөнөөр бүртгэгдсэн сэргээлтийн загварын дагуу файлын бүлэг бүрийг гүйлгээний бүртгэлийг хийсний дараа бие даан онлайн болгож болно.
| Сэргээх загвар | Хэсэгчилсэн сэргээх зан төлөв |
|---|---|
| Энгийн | Үндсэн болон бүх унших-бичих файлын бүлгүүдийг хамтад нь сэргээсэн. Зөвхөн унших файлын бүлгүүдийг тусад нь сэргээсэн. |
| Бүрэн/Бөөнөөр бүртгэгдсэн | Файлын бүлэг бүрийг файлын бүлгийн түвшинд бие даан сэргээсэн. |
Бүрэн сэргээх загварын жишээ - эхлээд өгөгдлийн санг асаахын тулд үндсэн файлын бүлгийг сэргээж, дараа нь өгөгдлийн сан ажиллаж байх үед хоёрдогч файлын бүлгүүдийг сэргээнэ үү:
-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
Энгийн сэргээх загварын жишээ:
-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;
-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO
9.9 T-SQL командуудыг ашиглан сэргээх
Файлын байршлыг өөрчлөх замаар сэргээх скриптийг дуусгана уу:
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
REPLACE,
STATS = 10;
GO
9.10 Сэргээхээс өмнө нөөцлөлтийн бүрэн бүтэн байдлыг шалгах
Сэргээхгүйгээр нөөцлөх хүчинтэй эсэхийг шалгана уу:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Энэ тушаал нь мэдээллийн санг сэргээхгүйгээр нөөцлөлтийн багц бүрэн, унших боломжтой эсэхийг шалгадаг.
10. SQL Server Нөөцлөх шилдэг туршлагууд
10.1 Нөөцлөх стратеги боловсруулах
10.1.1 Бизнесийн шаардлагыг үнэлэх
Нөөцлөлтийг хэрэгжүүлэхийн өмнө дараахь зүйлийг үнэлнэ үү.
- Өгөгдлийн чухал байдал: Энэ өгөгдөл нь үйл ажиллагаанд хэр чухал вэ?
- Давтамжийг өөрчлөх: Өгөгдөл хэр олон удаа өөрчлөгддөг вэ?
- Өгөгдлийн сангийн хэмжээ: Мэдээллийн сан хэр том вэ?
- Боломжтой нөөцүүд: Ямар санах ой болон зурвасын өргөн боломжтой вэ?
- Дагаж мөрдөх шаардлага: Та ямар дүрэм журмыг дагаж мөрдөх ёстой вэ?
10.1.2 RTO болон RPO-г тодорхойлох
Сэргээх хугацааны зорилго (RTO): Зөвшөөрөгдөх хамгийн их сул зогсолт. Үйлдлүүдээ хэр хурдан сэргээх шаардлагатайг тодорхойлдог.
Сэргээх цэгийн зорилго (RPO): Зөвшөөрөгдөх хамгийн их өгөгдлийн алдагдал. Нөөцлөх давтамжийг тодорхойлдог.
| RTO/RPO шаардлага | Санал болгож буй нөөцлөх стратеги |
|---|---|
| RPO: Цаг, RTO: Цаг | Өдөр тутмын бүтэн + гүйлгээний бүртгэл 1-2 цаг тутамд |
| RPO: Минут, RTO: Цаг | Өдөр бүр бүтэн + бүртгэлийн нөөцлөлтийг 15-30 минут тутамд хийнэ |
| RPO: Бараг тэг, RTO: Минут | Үргэлж бэлэн байгаа бүлгүүд + байнга лог нөөцлөлт хийх |
| RPO: Өдөр, RTO: Өдөр | Долоо хоног тутмын бүрэн + өдөр тутмын дифференциал |
10.2 Нөөц хуваарь гаргах
10.2.1 Давтамжийн зөвлөмж
Үйлдвэрлэлийн мэдээллийн баазыг нөөцлөх ердийн хуваарь:
- Бүрэн нөөцлөлтүүд: Долоо хоног бүр (хөдөлгөөн багатай үед Ням гарагийн орой)
- Дифференциал нөөцлөлтүүд: Өдөр бүр (орой бүр)
- Гүйлгээний бүртгэлийн нөөцлөлтүүд: Ажлын цагаар 15-30 минут тутамд
- Зөвхөн хуулбарлах нөөцлөлтүүд: Туршилт эсвэл хөгжүүлэхэд шаардлагатай бол
10.2.2 Гүйцэтгэл ба хамгаалалтыг тэнцвэржүүлэх
Төлөвлөлт хийхдээ эдгээр хүчин зүйлсийг анхаарч үзээрэй.
- Оргилгүй цаг: Хөдөлгөөн багатай үед бүрэн нөөцлөлтийг ажиллуул
- Нөөцийн нөлөө: Шахалт нь оролт гаралтыг багасгадаг ч CPU-ийн хэрэглээг нэмэгдүүлдэг
- Сүлжээний зурвасын өргөн: Ачаалал багатай үед сүлжээний нөөцлөлтийг төлөвлө
- Нөөц цонхнууд: Ажлын цагаас өмнө нөөцлөлтийг хийж дуусгахыг баталгаажуулна уу
10.3 Нөөц хадгалах шилдэг туршлагууд
10.3.1 Сайт дээрх болон гаднах хадгалалт
Газар дээрх нөөцлөлтүүд:
- Илүү хурдан нөөцлөх, сэргээх хугацаа
- Өндөр давтамжийн хандалтын хямд өртөг
- Орон нутгийн гамшигт өртөмтгий
- Түргэн сэргээх хувилбаруудад хамгийн тохиромжтой
Сайтаас гадуурх нөөцлөлтүүд:
- Тухайн газар нутгийн гамшгаас хамгаалах
- Газарзүйн нөөцийн шаардлагыг дагаж мөрдөх
- Сэргээх хугацаа удаан
- Гамшгийг сэргээхэд зайлшгүй шаардлагатай
10.3.2 Үүлэн нөөцлөх сонголтууд
Клоуд хадгалах давуу талууд:
- Azure Blob хадгалах сан: төрөлх SQL Server интеграцчилал, ховор хандалтын хувьд зардал багатай
- Amazon S3: Өндөр бат бөх, уян хатан хадгалах давхаргууд
- Google Cloud Storage: Өрсөлдөхүйц үнэ, дэлхийн хүртээмж
10.3.3 Нөөц хадгалах бодлого
Жишээ хадгалах бодлого:
- Өдөр бүр нөөцлөлтийг 7 хоногийн турш хадгална
- Долоо хоног тутмын нөөцлөлтийг 4 долоо хоног хадгал
- Сар бүр нөөцлөлтийг 12 сарын турш хадгал
- Жилийн нөөцлөлтийг 7 жилийн турш хадгалах (дагаж мөрдөх)
10.4 Нөөц шахалт ба шифрлэлт
Шахалтын ашиг тус:
- Нөөц файлын хэмжээг 50-70% бууруулдаг
- Нөөцлөх хугацааг багасгадаг
- Хадгалах зардлыг бууруулдаг
- Алсын нөөцлөлтийн сүлжээний зурвасын өргөнийг багасгадаг
Шифрлэлтийн шилдэг туршлагууд:
- Нууц мэдээлэл агуулсан нөөцлөлтийг үргэлж шифрлээрэй
- AES 256 битийн шифрлэлтийг ашиглана уу
- Аюулгүй гэрчилгээ эсвэл түлхүүрийн удирдлага
- Шифрлэлтийн түлхүүрүүдийг баримтжуулж, тусад нь хадгална
10.5 Нөөцлөлтийн туршилт, баталгаажуулалт
10.5.1 Тогтмол сэргээх туршилт
Туршилтын сэргээх процедурыг улирал эсвэл сар бүр:
- Туршилтын орчинд нөөцлөлтийг сэргээнэ үү
- Өгөгдлийн бүрэн бүтэн байдал, бүрэн бүтэн байдлыг шалгах
- Програмын ажиллагааг шалгана уу
- Баримт бичгийг сэргээх хугацаа (RTO-г баталгаажуулах)
- Аливаа асуудлыг тодорхойлж, шийдвэрлэх
10.5.2 ЗӨВХӨН RESTORE VERIFYONRE ашиглах
Нөөц баталгаажуулалтыг автоматжуулах:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Нөөцлөлт дууссаны дараа эсвэл хуваарьт засвар үйлчилгээний нэг хэсэг болгон баталгаажуулалтыг нэн даруй ажиллуулна уу.
10.6 Нөөц автоматжуулалт ба хяналт
10.6.1 SQL Server Агент Жобс
Автомат нөөцлөх ажлыг бий болгох:
- Expand SQL Server Агент
SSMS дээр
- Баруун товчлуур дээр дарна уу Ажлын байр сонгох Шинэ ажил
- Ажлын нэрийг нэрлэ (жишээ нь, "Өдөр тутмын бүрэн нөөцлөлт")
- нэмэх Алхам T-SQL нөөцлөх командуудтай
- Бүтээх Цагийн хуваарь гүйцэтгэх хугацааны хувьд
- тохируулна Мэдэгдэл амжилт / бүтэлгүйтлийн төлөө
10.6.2 Засвар үйлчилгээний төлөвлөгөө
SQL Server Засвар үйлчилгээний төлөвлөгөөнүүд нь нөөц автоматжуулалтын харааны интерфейсээр хангадаг:
- Руу очих удирдлага -> Засвар үйлчилгээний төлөвлөгөө
- Баруун баруун товшиж сонгоно уу Засвар үйлчилгээний төлөвлөгөөний мастер
- Автоматжуулахын тулд нөөцлөх ажлуудыг сонго
- Нөөцлөх хуваарь болон сонголтуудыг тохируулна уу
- Тайлан, бүртгэлийг тохируулна уу
10.6.3 Сэрэмжлүүлэг болон мэдэгдлийг нөөцлөх
Имэйл мэдэгдлийг тохируулах:
- Мэдээллийн сангийн имэйлийг тохируулна уу SQL Server
- Нөөцлөлтийн алдааны талаар сэрэмжлүүлэг үүсгэх
- Нөөц ажлын түүхийг хянах
- Администраторуудад хураангуй тайланг илгээх
10.7 Баримтжуулалт, гамшгийн нөхөн сэргээлтийн төлөвлөлт
Бүрэн баримт бичгийг хадгалах:
- Нөөц хуваарь: Хэзээ, юуг нөөцлөх вэ
- Хадгалах бодлого: Нөөцлөлтийг хэр удаан хадгалах вэ
- Хадгалах газрууд: Нөөцлөлтийг хаана хадгалдаг
- Сэргээх журам: Алхам алхмаар сэргээх зааварчилгаа
- Холбогдох мэдээлэл: Гол ажилтнууд ба борлуулагчид
- Сэргээх туршилтын үр дүн: Баримтжуулсан туршилтын үр дүн
11. Нарийвчилсан SQL Server Нөөцлөх хувилбарууд
11.1 Маш том мэдээллийн санг нөөцлөх (VLDB)
11.1.1 Файл ба файлын бүлгийн стратеги
Хэдэн зуун гигабайтаас дээш мэдээллийн сангийн хувьд:
- Зөвхөн унших болон унших-бичих өгөгдлийг өөр файлын бүлэгт тусад нь салга
- Зөвхөн унших боломжтой файлын бүлгүүдийг ховор нөөцлөөрэй
- Байнгын нөөцлөлтийг идэвхтэй файлын бүлгүүдэд төвлөрүүл
- Файлын түвшний нөөцлөлтийг нарийн хянахын тулд ашиглана уу
Файл нөөцлөх жишээ:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Нөөц гүйцэтгэлийн оновчлол
VLDB нөөцлөх гүйцэтгэлийг сайжруулах:
- Судалчлагдсан нөөцлөлтүүд: Олон файлд нэгэн зэрэг бичих
- Шахалт: I/O болон хадгалалтын шаардлагыг багасгах
- Олон нөөцлөх төхөөрөмж: Нөөцлөх үйлдлүүдийг зэрэгцүүлэх
- Хурдан хадгалах: Нөөц хуулбарлахын тулд SSD ашиглах
- Буферийн тоо: BUFFERCOUNT сонголтыг нэмэгдүүлэх
- Дамжуулах дээд хэмжээ: MAXTRANSFERSIZE тохиргоог оновчтой болгох
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
DISK = 'D:\Backups\LargeDB_2.bak',
DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
BUFFERCOUNT = 100,
MAXTRANSFERSIZE = 4194304;
GO
11.2 Үргэлж ашиглах боломжтой бүлгүүдэд нөөцлөлт хийх
Always On Availability Groups нь нөөц ачааллыг хуулбаруудад хуваарилдаг:
- Нөөцлөлтийн тохиргоог тохируулах (үндсэн, хоёрдогч эсвэл ямар нэгэн хуулбар)
- Үндсэн ажлын ачааллыг багасгахын тулд нөөцлөлтийг хоёрдогч хуулбар руу буулгана уу
- Хоёрдогч хуулбар дээр COPY_ONLY нөөцлөлтийг ашиглана уу
- Нөөцлөлтийн тэргүүлэх тохиргоог хянах
-- Check backup preferences
SELECT
ag.name AS AvailabilityGroup,
ar.replica_server_name,
ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO
11.3 Өгөгдлийн сангийн тусгалын нөөцлөлт
Өгөгдлийн сангийн толин тусгалын хувилбаруудад:
- Үндсэн мэдээллийн санг тогтмол нөөцлөөрэй
- Гүйлгээний бүртгэлийн нөөцлөлт нь толин тусгал хийхэд зайлшгүй шаардлагатай
- Толин тусгал мэдээллийн сан СЭРГЭЭЖ БАЙНА (шууд нөөцлөх боломжгүй)
- Амжилтгүй болсны дараа толин тусгалыг нөөцлөх талаар бодож үзээрэй
11.4 Azure Blob Storage руу нөөцлөх
SQL Server Azure Blob Storage руу шууд нөөцлөх боломжтой:
- Azure хадгалах данс үүсгэх
- бий болгох SQL Server Azure баталгаажуулалтын итгэмжлэл
- Нөөц байршуулахдаа URL синтакс ашиглана уу
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO
-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
STATS = 10;
GO
11.5 URL руу нөөцлөх
URL руу нөөцлөхийн давуу талууд:
- Хязгааргүй үүл хадгалах багтаамж
- Газарзүйн нөөцийг автоматаар зохицуулдаг
- Төлбөр тооцооны загвар
- Дотоод дискний зай шаардлагагүй
- Нөөцлөлт бүрт 64 хүртэлх URL-г дэмждэг (зураастай)
11.6 Гүйцэтгэлд зориулсан судалтай нөөцлөлт
Судалчлагдсан нөөцлөлт нь илүү хурдан оролт гаргахын тулд өгөгдлийг олон файлд хуваадаг.
-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
DISK = 'D:\Backups\AW_Stripe2.bak',
DISK = 'E:\Backups\AW_Stripe3.bak',
DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO
Тайлбар: Сэргээхэд бүх судалтай файл шаардлагатай. Аливаа файл байхгүй бол нөөцлөлтийг ашиглах боломжгүй болгодог.
12. Алдаа засах SQL Server Нөөцлөх асуудал
12.1 Нөөцлөлтийн нийтлэг алдаа ба шийдэл
Алдаа: "Үйлдлийн системийн алдаа 5: Хандалтыг хориглосон"
- Үндэслэл: SQL Server үйлчилгээний бүртгэлд зөвшөөрөл байхгүй байна
- Шийдэл: -д бичих зөвшөөрлийг олгох SQL Server нөөц хавтас дээрх үйлчилгээний данс
Алдаа: "Нөөцлөх төхөөрөмжийг нээх боломжгүй ... Төхөөрөмжийн алдаа эсвэл төхөөрөмж офлайн"
- Үндэслэл: Буруу зам эсвэл сүлжээний хуваалцах боломжгүй
- Шийдэл: Зам байгаа эсэхийг шалгах, сүлжээний холболтыг шалгах, дискний хангалттай зайг шалгах
Алдаа: "Диск дээр хангалттай зай байхгүй"
- Үндэслэл: Нөөцлөхөд дискний зай хангалтгүй байна
- Шийдэл: Дискний зайг чөлөөлөх, шахалтыг ашиглах, өөр байршилд нөөцлөх
Алдаа: "Өгөгдлийн санг ашиглаж байна. Өгөгдлийн санг бусад хэрэглэгчид ашиглаж байна"
- Үндэслэл: Сэргээх явцад идэвхтэй холболтууд
- Шийдэл: WITH REPLACE сонголтыг ашиглах эсвэл эхлээд хэрэглэгчдийг салга
12.2 Нөөцлөх гүйцэтгэлийн асуудлууд
Удаан нөөцлөлтийг оношлох:
- ашиглан дискний оролт гаралтын гүйцэтгэлийг шалгана уу Гүйцэтгэлийн хяналт
- STATS сонголтоор нөөцлөлтийн явцыг хянах
- тойм SQL Server саад бэрхшээлийн алдааны бүртгэл
- I/O багасгахын тулд шахалтыг авч үзье
- Олон диск дээр судалтай нөөцлөлтийг ашиглана уу
Нөөцлөлтийн явцыг хянах хүсэлт:
SELECT
session_id,
command,
percent_complete,
CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
+ CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
+ CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
+ CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
+ CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests
WHERE command LIKE 'BACKUP%';
GO
12.3 Орон зай ба хадгалах асуудал
Хадгалах асуудлаас урьдчилан сэргийлэх:
- Хадгалах бодлогыг хэрэгжүүлэх: Хуучин нөөцлөлтийг автоматаар устгах
- Шахалтыг ашиглах: Нөөц файлын хэмжээг 50-70%-иар багасгах
- Архивыг хямд хадгалах санд хадгалах: Хуучин нөөцлөлтүүдийг архивын сан руу зөөнө үү
- Дискний зайг хянах: Дискний зай бага байгаа тул сэрэмжлүүлэг тохируулна уу
- Нөөцлөлтийн хэмжээг тооцоолох: Нөөцлөхөөс өмнө хүлээгдэж буй хэмжээг тооцоол
Нөөцлөлтийн хэмжээг тооцоолох:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Зөвшөөрөл ба хандалтын асуудал
Нөөцлөхөд шаардлагатай зөвшөөрөл:
- МЭДЭЭЛЛИЙН САНГ НӨӨЦЛӨХ зөвшөөрөл
- db_backupoperator үүрэг гишүүнчлэл
- ссэдмин серверийн үүрэг (бүх нөөц үйлдлийн хувьд)
Нөөцлөх зөвшөөрөл олгох:
-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO
-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO
12.5 Нөөц файлууд эвдэрсэн
Гэмтсэн нөөцлөлтийг илрүүлэх, зохицуулах:
Нөөцлөлтийн бүрэн бүтэн байдлыг баталгаажуулах:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Ирээдүйн нөөцлөлтөд CHECKSUM-г идэвхжүүлнэ үү:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Урьдчилан сэргийлэх стратеги:
- Нөөцлөхдөө CHECKSUM сонголтыг үргэлж ашиглаарай
- Нөөцлөлтийг үүсгэсний дараа шууд баталгаажуулна уу
- Туршилтыг тогтмол сэргээдэг
- Нөөцлөлтийг найдвартай хадгалах санд хадгал
- Олон нөөц хуулбарыг хадгалах
12.6 Гэмтсэн нөөц файлуудаас өгөгдлийг сэргээх
Хэрэв таны нөөц файлууд гэмтсэн бөгөөд та тэдгээрээс өгөгдлийг сэргээхийг хүсэж байгаа бол гуравдагч талын хэрэгслүүдийг ашиглаж болно. DataNumen SQL Recovery, дараах байдлаар:
- Start DataNumen SQL Recovery.
- Шүүлтүүрийг "Бүх файл (*.*)" болгож өөрчилснөөр эвдэрсэн нөөц файлыг эх файл болгон сонгоно уу:
- Шаардлагатай бол гаралтын .MDF файлыг тохируулна уу.
- "Сэргээхийг эхлүүлэх" дээр дарж, мэдээллийн санг сэргээх зааврыг дагана уу.
- Сэргээх процессын дараа сэргээх шинэ мэдээллийн сан гарч ирнэ SQL Server Энэ нь бүх сэргээгдсэн өгөгдлийг агуулдаг.
13. SQL Server Нөөц аюулгүй байдал
13.1 Нөөц файлуудыг хамгаалах
Нөөц файлуудыг зөвшөөрөлгүй хандалтаас хамгаалах:
- Файлын системийн зөвшөөрөл: Зөвхөн эрх бүхий админуудын хандалтыг хязгаарлах
- Сүлжээний аюулгүй байдал: Сүлжээний нөөцлөлтөд аюулгүй протокол ашиглах
- Биеийн аюулгүй байдал: Нөөц медиаг аюулгүй газар хадгал
- Бүртгэлд хандах: Нөөц файлын хандалтыг шалгах
13.2 Шифрлэлтийн сонголтууд
SQL Server ил тод нөөц шифрлэлтийг дэмждэг:
Шифрлэлтийн гэрчилгээ үүсгэх:
-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO
-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO
Шифрлэгдсэн нөөцлөлт:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Чухал: Сертификат болон хувийн түлхүүрийг тусад нь нөөцлөөрэй. Тэдгээргүйгээр шифрлэгдсэн нөөцлөлтийг сэргээх боломжгүй.
-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
FILE = 'C:\Certificates\BackupCertificate.key',
ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO
13.3 Хандалтын хяналт ба зөвшөөрөл
Хамгийн бага давуу эрхийн зарчмыг хэрэгжүүлэх:
- Зөвхөн шаардлагатай дансанд нөөцлөх зөвшөөрлийг олгох
- Нөөцлөх, сэргээх үйлдлүүдэд тусдаа данс ашиглах
- Нөөцлөхдөө sa акаунт ашиглахаас зайлсхий
- Нөөцлөх зөвшөөрлийг тогтмол аудит
- Шаардлагагүй болсон үед зөвшөөрлийг устгана уу
13.4 Нийцлийн талаар анхаарах зүйлс
Зохицуулалтын шаардлагад хандах:
- GDPR: Хувийн мэдээлэл агуулсан нөөцлөлтийг шифрлэх, хадгалах бодлогыг хэрэгжүүлэх
- HIPAA: Нөөцлөлтийн НЭМХ-г шифрлэх, хандалтыг хянах, аудитын мөрийг хөтлөх
- PCI DSS: Карт эзэмшигчийн өгөгдлийн нөөцлөлтийг шифрлэх, нөөцлөх хадгалах санг аюулгүй болгох
- SOX: Нөөцлөлтийн бүрэн бүтэн байдал, баримт бичгийг хадгалах бодлогыг хадгалах
14. Нөөцлөх үйл ажиллагаанд хяналт тавих, хадгалах
14.1 Нөөцлөлтийн түүхийг хянах
SQL Server msdb мэдээллийн санд нөөц түүхийг хадгалдаг:
-- View recent backup history
SELECT
bks.database_name,
bks.backup_start_date,
bks.backup_finish_date,
CASE bks.type
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
ELSE 'Other'
END AS backup_type,
bks.backup_size / 1024 / 1024 AS backup_size_mb,
bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO
Саяхны нөөцлөлтгүй мэдээллийн санг хайх:
SELECT
d.name AS database_name,
MAX(bs.backup_finish_date) AS last_backup_date,
DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO
14.2 Ашиглах SQL Server тайлан
SQL Server Менежмент студио нь суурилагдсан нөөц тайланг агуулдаг:
- Object Explorer дээрх мэдээллийн бааз дээр хулганы баруун товчийг дарна уу
- сонгоно уу тайлан -> Стандарт тайлан
- Боломжтой тайлангаас сонгоно уу:
- Үйл явдлыг нөөцлөх, сэргээх
- Бүх нөөцлөлт
- Гүйлгээний бүртгэлийн хүргэлтийн байдал
14.3 Гуравдагч этгээдийн хяналтын хэрэгсэл
Арилжааны хяналтын шийдлүүд:
- SQL Sentry: Цогц хяналт, сэрэмжлүүлэг
- Redgate SQL Monitor: Бодит цагийн хяналт, оношлогоо
- SolarWinds мэдээллийн сангийн гүйцэтгэлийн анализатор: Гүйцэтгэл болон нөөцийн хяналт
- Idera SQL Оношлогооны Менежер: Нөөц баталгаажуулалт ба анхааруулга
14.4 Эрүүл мэндийн үзлэгийг нөөцлөх
Эрүүл мэндийн үзлэг хийх журмыг бий болгох:
-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
-- Check for databases without recent full backup
SELECT
'Missing Recent Full Backup' AS issue,
d.name AS database_name,
ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs
ON d.name = bs.database_name AND bs.type = 'D'
WHERE d.database_id > 4
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
AND j.name LIKE '%backup%';
END
GO
15. SQL Server Түгээмэл асуултуудыг нөөцлөх
15.1 Би хэр олон удаа нөөцлөх ёстой вэ SQL Server?
Нөөцлөх давтамж нь таны сэргээх цэгийн зорилтоос (RPO) хамаарна:
- Үйлдвэрлэлийн чухал мэдээллийн сан: Бүтэн долоо хоног бүр, өдөр бүр дифференциал, 15-30 минут тутамд бүртгэдэг
- Стандарт үйлдвэрлэлийн мэдээллийн сан: Бүтэн долоо хоног бүр, өдөр бүр дифференциал, 1-2 цаг тутамд бүртгэдэг
- Хөгжлийн мэдээллийн сан: Өдөр бүр эсвэл долоо хоног бүр бүрэн
- Зөвхөн унших боломжтой мэдээллийн сан: Өгөгдлийн өөрчлөлт бүрийн дараа бүрэн
15.2 Бүрэн болон дифференциал нөөцлөлт хоёрын ялгаа юу вэ?
Бүрэн нөөцлөлт нь мэдээллийн санг бүхэлд нь хуулдаг бол дифференциал нөөцлөлт нь зөвхөн сүүлийн бүрэн нөөцлөлтөөс хойшхи өөрчлөлтүүдийг л авдаг. Дифференциал нөөцлөлт нь жижиг бөгөөд хурдан боловч сэргээхэд үндсэн бүрэн нөөцлөлт шаардлагатай.
15.3 Би нөөцлөж болох уу SQL Server Энэ нь ажиллаж байх үед?
Тийм ээ, SQL Server онлайн нөөцлөлтийг дэмждэг. Хэрэглэгчид нөөцлөлт хийх явцад үргэлжлүүлэн ажиллах боломжтой. SQL Server гүйлгээний бүртгэлээ тогтмол байлгахын тулд ашигладаг бөгөөд нэгэн зэрэг өөрчлөлт хийсэн ч нөөцлөлтүүд хүчинтэй байх болно.
15.4 Хэр удаан SQL Server Нөөцлөх үү?
Нөөцлөх хугацаа нь дараахь зүйлээс хамаарна.
- Өгөгдлийн сангийн хэмжээ: Том өгөгдлийн сан нь илүү их хугацаа шаарддаг
- Нөөцлөх төрөл: Бүрэн нөөцлөлт нь хамгийн их хугацаа шаарддаг
- Шахалт: Процессорын ажиллах хугацааг уртасгах боловч нийт хугацааг багасгах боломжтой
- Хадгалах хурд: SSD нь HDD-ээс хамаагүй хурдан
- Серверийн ачаалал: Өндөр идэвхжил нь нөөцлөлтийг удаашруулдаг
Ердийн хүрээ: 10 ГБ мэдээллийн санг орчин үеийн техник хангамж дээр шахаж бүрэн нөөцлөхөд 5-15 минут шаардлагатай.
15.5 Би хаана хадгалах ёстой вэ SQL Server Нөөцлөлт үү?
Шилдэг туршлага: 3-2-1 дүрмийг дагаж мөрдөөрэй.
- 3 таны мэдээллийн хуулбар
- 2 янз бүрийн хадгалах төрлүүд (жишээ нь диск болон соронзон хальс/үүл)
- 1 сайтаас гадуур хуулах
Санал болгож буй газрууд:
- Түргэн сэргээхэд зориулсан локал диск
- Төвлөрсөн удирдлагад зориулсан сүлжээний хадгалалт
- Гамшгаас хамгаалах үүлэн хадгалах сан (Azure, AWS).
15.6 .bak файлын өргөтгөл гэж юу вэ?
.bak өргөтгөл нь өгөгдмөл файлын өргөтгөл юм SQL Server нөөц файлууд. Энэ бол шаардлага биш конвенц SQL Server нөөцлөлт нь ямар ч файлын өргөтгөлтэй ажилладаг. Гэсэн хэдий ч, .bak ашиглах нь нөөц файлуудыг хялбархан таних боломжтой болгодог бөгөөд энэ нь салбарын стандарт практик юм.
15.7 Хэрхэн нөөцлөх вэ SQL Server Сүлжээний Драйв руу?
Сүлжээний драйв руу нөөцлөхийн тулд:
- хангах SQL Server үйлчилгээний бүртгэл нь сүлжээний хуваалцах зөвшөөрөлтэй байна
- Нөөцлөх тушаалд UNC замыг ашиглана уу:
\\ServerName\ShareName\BackupFile.bak - Автомат нөөцлөлтийг төлөвлөхөөс өмнө холболтыг шалгана уу
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Би шахаж болох уу SQL Server Нөөцлөлт үү?
Тийм ээ, SQL Server уугуул нөөцлөлтийн шахалтыг дэмждэг (Enterprise Edition эсвэл Standard Edition эхлэнэ) SQL Server 2016 SP1). Шахалт нь ихэвчлэн нөөцлөлтийн хэмжээг 50-70%-иар багасгаж, оролт/гаралтыг багасгаснаар нөөцлөх хугацааг багасгадаг ч CPU-ийн хэрэглээг нэмэгдүүлдэг.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. дүгнэлт
16.1 гол арга хэмжээ
үр дүнтэй SQL Server нөөцлөх стратеги нь таны өгөгдлийг хамгаалж, бизнесийн тасралтгүй байдлыг хангадаг. Эдгээр чухал санааг санаарай:
- Нөөцлөлтийн төрлийг ойлгох: Сэргээх шаардлагад үндэслэн тохирох нөөцлөлтийн төрлийг (бүрэн, дифференциал, гүйлгээний бүртгэл) сонгоно уу
- Зөв сэргээх загварыг сонгох: Чухал өгөгдлийг бүрэн сэргээх, мэдээллийн санг хөгжүүлэхэд хялбар
- Нөөц хуваарийг хэрэгжүүлэх: Тогтмол бүрэн нөөцлөлт нь дифференциал болон бүртгэлийн нөөцлөлттэй хослуулан өгөгдлийн алдагдлыг багасгадаг
- Туршилтын сэргээх процедур: Нөөцлөлтийг амжилттай сэргээж чадвал л үнэ цэнэтэй
- Автоматжуулах, хянах: ашиглах SQL Server Агент, засвар үйлчилгээний төлөвлөгөө, хяналтын хэрэгсэл
- Аюулгүй нөөцлөлтүүд: Эмзэг өгөгдлийг шифрлэх, нөөц файлд хандах хандалтыг хянах
- Сайтаас гадуурх хуулбарыг хадгалах: Клоуд эсвэл алсын зайн санах ойн тусламжтайгаар сайтыг хамарсан гамшгаас хамгаалаарай
- Бүгдийг баримтжуулах: Нөөцлөх, сэргээх процедурын тодорхой баримт бичгийг хадгалах
16.2 Дараагийн алхамууд ба нөөцүүд
Өөрийгөө сайжруулахын тулд SQL Server нөөц хэрэгжилт:
- Өөрийн одоогийн нөөцлөх стратегийг шилдэг туршлагын дагуу үнэл
- Өөрийн RTO болон RPO шаардлагуудыг тооцоол
- Үйлдвэрлэлийн бус систем дээр сэргээх процедурыг турших
- Нөөцлөлтийн хуваарийг тогтмол хянаж, шинэчлэх
- Автоматжуулсан хяналт, сэрэмжлүүлгийг хэрэгжүүлэх
- Багийн гишүүдийг сэргээх процедурын талаар сургах
Нэмэлт эх үүсвэр
- Microsoft- SQL Server Баримт бичиг: Албан ёсны нөөцлөлт ба сэргээх удирдамж
- SQL Server Нөөц олон нийтийн форум: Туршлага, шийдлүүдийг хуваалцах
- Мэргэжлийн гэрчилгээ: Microsoft Certified: Azure Database Administrator Associate
16.3 Зөвлөмж болгож буй хэрэгсэл ба шийдэл
Янз бүрийн хувилбарууд дээр үндэслэн:
Жижиг бизнесүүд:
- төрөлх SQL Server хуваарийн дагуу нөөцлөх SQL Server Агент ажил
- Үүл нэгтгэхэд зориулсан SQLBackupAndFTP
- Azure нөөцлөлт SQL Server
Дунд үйлдвэрүүд:
- SQL Server Засвар үйлчилгээний төлөвлөгөө
- Redgate SQL Backup Pro зэрэг гуравдагч талын хэрэгслүүд
- Veeam нөөцлөлт SQL Server
Томоохон аж ахуйн нэгжүүд:
- Хамгийн их шахалт хийхийн тулд LiteSpeed-ийг хайж олоорой
- Байгууллагын нөөцлөлтийн менежментэд зориулсан Commvault эсвэл Veritas NetBackup
- Үргэлж бэлэн байгаа бүлгүүд өндөр боломжтой
SQL Server Нөөцлөлт нь мэдээллийн сангийн удирдлагын үндэс суурь юм. Зөв төлөвлөлт, хэрэгжилт, туршилтын тусламжтайгаар та өгөгдлөө хамгаалж, шаардлагатай үед сэргээх боломжтой эсэхийг баталгаажуулж чадна. Аюулгүй байдлыг хангахын тулд эдгээр шилдэг туршлагыг өнөөдрөөс хэрэгжүүлж эхэл SQL Server өгөгдлийн сан.
Зохиогчийн Тухай
Юань Шэн нь 10 гаруй жилийн туршлагатай мэдээллийн сангийн ахлах администратор (DBA) юм SQL Server орчин, аж ахуйн нэгжийн мэдээллийн сангийн менежмент. Тэрээр санхүүгийн үйлчилгээ, эрүүл мэнд, үйлдвэрлэлийн байгууллагуудын мэдээллийн санг сэргээх олон зуун хувилбаруудыг амжилттай шийдвэрлэсэн.
Юань мэргэшсэн SQL Server мэдээллийн санг сэргээх, өндөр хүртээмжтэй шийдэл, гүйцэтгэлийг оновчтой болгох. Түүний олон терабайтын өгөгдлийн санг удирдах, Үргэлж бэлэн байдлын бүлгүүдийг хэрэгжүүлэх, бизнесийн чухал системүүдийн автомат нөөцлөлт, сэргээх стратеги боловсруулах зэрэг түүний өргөн туршлага багтана.
Юань техникийн туршлага, практик арга барилаараа дамжуулан мэдээллийн сангийн администраторууд болон мэдээллийн технологийн мэргэжилтнүүдэд нарийн төвөгтэй асуудлыг шийдвэрлэхэд туслах цогц гарын авлагыг бий болгоход анхаарлаа хандуулдаг. SQL Server сорилтуудыг үр дүнтэй даван туулах. Тэрээр хамгийн сүүлийн үеийн мэдээлэлтэй хэвээр байна SQL Server хувилбарууд болон Microsoft-ын хөгжиж буй мэдээллийн баазын технологиуд, түүний зөвлөмжүүд нь бодит ертөнцийн шилдэг туршлагыг тусгахын тулд сэргээх хувилбаруудыг тогтмол туршиж үздэг.
талаар асуух зүйл байна SQL Server сэргээх эсвэл мэдээллийн сангийн алдааг олж засварлах нэмэлт заавар хэрэгтэй юу? Юань угтан авлаа санал хүсэлт, санал Эдгээр техникийн нөөцийг сайжруулахын тулд .











