Қазір бөлісу:
Мазмұны жасыру
10. SQL Server Сақтық көшірме жасаудың ең жақсы тәжірибелері

Сақтық көшірме 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 Толық және дифференциалды сақтық көшірме

Толық және дифференциалды сақтық көшірме

Aspect Толық сақтық көшірме Дифференциалды резервтік көшірме
Өлшем Толық дерекқор Соңғы толық сақтық көшірмеден кейін ғана өзгереді
Сақтық көшірме жасау уақыты Ең ұзын Толғанға қарағанда жылдамырақ
Қалпына келтіру процесі Бір файлды қалпына келтіру Толық + дифференциалды талап етеді
Сақтау қажет Ең көп орын Бастапқыда кеңістік аз, уақыт өте келе өседі

2.3 Транзакция журналының сақтық көшірмесі

Транзакция журналының сақтық көшірмелері соңғы журналдың сақтық көшірмесінен кейінгі барлық транзакцияларды түсіріп, уақытында қалпына келтіруге мүмкіндік береді.

2.3.1 Транзакция журналдарын түсіну

Транзакция журналы дерекқорға жасалған әрбір өзгертулерді жазады. Журналдың сақтық көшірмелері журналдың белсенді емес бөлігін қысқартып, оның шексіз өсуіне және дискіні толтыруына жол бермейді.

2.3.2 Уақытты қалпына келтіру

Транзакция журналының сақтық көшірмелері дерекқорыңызды журналдың сақтық көшірмесінде кез келген белгілі бір сәтке қалпына келтіруге мүмкіндік береді. Бұл деректерді кездейсоқ өзгертулерден немесе жоюдан қалпына келтіру үшін өте маңызды.

Уақытылы қалпына келтіруді орындау үшін сізге қажет:

  • Соңғы толық сақтық көшірме
  • Ең соңғы дифференциалды резервтік көшірме (міндетті емес)
  • Толық/дифференциалды сақтық көшірмеден мақсатты уақытқа дейінгі барлық транзакция журналының сақтық көшірмелері

2.4 Tail-Log сақтық көшірмесі

Tail-log сақтық көшірмелері әлі сақтық көшірмесі жасалмаған журнал жазбаларын түсіріп, деректердің жоғалуын болдырмайды және журналдар тізбегін сақтайды. Қалпына келмес бұрын а SQL Server дерекқорды ең соңғы уақытқа дейін жеткізу үшін оның транзакция журналының сақтық көшірмесін жасау керек. tail-log сақтық көшірмесі дерекқорды қалпына келтіру жоспарындағы қызығушылықтың соңғы сақтық көшірмесі болып табылады.

Құйрық журналының сақтық көшірмелерін түсіндіретін диаграмма SQL Server.

Ескерту: Барлық қалпына келтіру сценарийлері артқы журналдың сақтық көшірмесін қажет етпейді. Егер қалпына келтіру нүктесі бұрынғы журналдың сақтық көшірмесінде болса, сізге оның қажеті жоқ. Егер сіз дерекқорды жылжытып немесе ауыстырып (қайта жазып) жатсаңыз және оны ең соңғы сақтық көшірмесінен кейінгі уақытқа қалпына келтірудің қажеті болмаса, артқы журналдың сақтық көшірмесі қажет емес.

2.4.1 Tail-Log сақтық көшірмелері қажет болғанда

Келесі сценарийлер журналдың сақтық көшірмесін қашан алу керектігін сипаттайды:

Онлайн деректер қорын қалпына келтіру: Егер дерекқор желіде болса және дерекқорда қалпына келтіру әрекетін орындауды жоспарласаңыз, журналдың сақтық көшірмесін жасау арқылы бастаңыз. Желідегі дерекқорға қатысты қатені болдырмау үшін сақтық көшірме жасау кезінде BACKUP Transact-SQL мәлімдемесінің WITH NORECOVERY опциясын пайдалануыңыз керек. SQL Server деректер базасы.

Деректер базасын офлайн қалпына келтіру: Егер дерекқор желіден тыс болса және іске қосылмаса және сізге дерекқорды қалпына келтіру қажет болса, алдымен журналдың соңындағы сақтық көшірмені жасаңыз. Қазіргі уақытта ешқандай транзакциялар орын алмайтындықтан, WITH NORECOVERY опциясын пайдалану міндетті емес. Бұл сценарийде NORECOVERY тек көшірме жасау арқылы транзакция журналының сақтық көшірмесін жасаумен бірдей.

Зақымдалған дерекқордың сақтық көшірмесі: Дерекқор зақымдалған болса, САҚТЫҚ КӨПРЕТУ мәлімдемесінің WITH CONTINUE_AFTER_ERROR опциясын пайдалану арқылы журналдың сақтық көшірмесін жасап көріңіз. Зақымдалған дерекқорда журналдың сақтық көшірмесін жасау журнал файлдары зақымдалмаған болса, дерекқор tail-журнал сақтық көшірмелерін қолдайтын күйде болса және дерекқорда ешқандай жаппай журналға енгізілген өзгерістер болмаса ғана сәтті болады. Егер tail-log сақтық көшірмесін жасау мүмкін болмаса, кез келген транзакциялар соңғы MS кейін орындалады SQL Server дерекқордың сақтық көшірмесі жоғалады.

2.4.2 Tail-Log сақтық көшірмелері үшін негізгі опциялар

NORECOVERY МЕН: Егер сіз кейін қалпына келтіруді жоспарлап отырған онлайн дерекқор журналының сақтық көшірмесін жасап жатсаңыз, WITH NORECOVERY пайдаланыңыз. NORECOVERY дерекқорды желіден тыс алады. Сондай-ақ сақтық көшірме жасауға болады SQL Server офлайн дерекқордың соңғы журналы. Дерекқорды желіден тыс қалдырғыңыз келсе, WITH NORECOVERY пайдаланыңыз. COPY_ONLY немесе NO_TRUNCATE опциясын көрсетпейінше, журнал қысқартылатынын ескеріңіз.

CONTINUE_AFTER_ERROR МЕН: Зақымдалған дерекқордың сақтық көшірмесін жасап жатсаңыз ғана 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 Менеджмент студиясы

  1. ұшыру SQL Server Менеджмент студиясы
  2. Сервер атын енгізіңіз Сервер атауы өріс
  3. Аутентификация әдісіңізді таңдаңыз
  4. басыңыз қосылу

4.2.2 Деректер қоры мен сақтық көшірме параметрлерін таңдау

  1. In Object Explorer, кеңейтіңіз Мәліметтер базасы торап
  2. Сақтық көшірме жасағыңыз келетін дерекқорды тінтуірдің оң жақ түймешігімен басыңыз
  3. таңдау міндеттері -> Сақтық көшірме жасау
    Сақтық көшірме тапсырмасын бастаңыз SQL Server деректер базасында SQL Server Менеджмент студиясы.
  4. Ішінде Дерекқордың сақтық көшірмесін жасау терезеде дерекқор атауын тексеріңіз
  5. таңдау толық ретінде Сақтық көшірме түрі
    a толық сақтық көшірмесін жасаңыз SQL Server деректер базасында SQL Server Менеджмент студиясы.

4.2.3 Сақтық көшірме тағайындау орнын конфигурациялау

  1. астында тағайындалған орыннұқыңыз кетіру әдепкі жолды тазалау (қажет болса)
  2. басыңыз қосу жаңа сақтық көшірме орнын көрсету үшін
  3. Файл жолын және атын енгізіңіз .bak Кеңейтім
  4. басыңыз OK тағайындалған жерді растау үшін

Сақтық көшірме тағайындау орнын орнатыңыз SQL Server Менеджмент студиясы.

4.2.4 Advanced Backup Параметрлер

  1. басыңыз Медиа опциялары сол панельде
  2. Сақтық көшірме опцияларын таңдаңыз:
    • Барлық бұрыннан бар сақтық көшірме жинақтарын қайта жазыңыз – Бар сақтық көшірмелерді ауыстырады
    • Бар сақтық көшірме жинағына қосыңыз – Бар сақтық көшірме файлына қосады

    Сақтық көшірме мультимедиа опцияларын орнатыңыз SQL Server Менеджмент студиясы.

  3. басыңыз Сақтық көшірме параметрлері сол панельде
  4. Қосымша параметрлерді конфигурациялау:
    • Сақтық көшірмені қысу – Сақтық көшірме файлының өлшемін азайтады
    • Сақтық көшірмені шифрлау – Құпия деректерді қорғайды
    • Аяқтаған кезде сақтық көшірме жасауды растаңыз – Сақтық көшірменің тұтастығын тексереді

    Сақтық көшірме опцияларын орнатыңыз SQL Server Менеджмент студиясы.

4.2.5 Сақтық көшірмені орындау

  1. бөліміндегі барлық параметрлерді қарап шығыңыз Дерекқордың сақтық көшірмесін жасау терезе
  2. басыңыз OK сақтық көшірме жасау процесін бастау үшін
  3. Сақтық көшірменің аяқталуын күтіңіз
  4. Сақтық көшірме жасау аяқталған кезде сәтті хабар пайда болады
  5. басыңыз OK растау диалогын жабу үшін

4.3 SSMS көмегімен дифференциалды резервтік көшірме жасау

Дифференциалды сақтық көшірме жасау үшін толық сақтық көшірме сияқты қадамдарды орындаңыз, бірақ таңдаңыз Дифференциалды 4.2.2-қадамдағы сақтық көшірме түрі ретінде. Дифференциалды сақтық көшірмелер негізгі ретінде алдын ала толық сақтық көшірмені қажет ететінін есте сақтаңыз.

a дифференциалды сақтық көшірмесін жасаңыз SQL Server деректер базасында SQL Server Менеджмент студиясы.

4.4 SSMS көмегімен транзакция журналының сақтық көшірмесін жасау

Транзакция журналының сақтық көшірмелері тек Толық немесе Жаппай тіркелген қалпына келтіру үлгілерін пайдаланатын дерекқорлар үшін қол жетімді.

  1. Дерекқорды тінтуірдің оң жақ түймешігімен басыңыз Object Explorer
  2. таңдау міндеттері -> Сақтық көшірме жасау
  3. таңдау Транзакциялар журналы сақтық көшірме түрі ретінде
  4. Қажет болса, тағайындау және опцияларды конфигурациялаңыз
  5. басыңыз OK журналдың сақтық көшірмесін жасау үшін

a. транзакция журналының сақтық көшірмесін жасаңыз SQL Server деректер базасында SQL Server Менеджмент студиясы.

4.5 SSMS көмегімен тек көшіруге арналған сақтық көшірме жасау

Тек көшіруге арналған сақтық көшірмелер әдеттегі сақтық көшірме жасау ретіне кедергі жасамайды.

  1. Толық сақтық көшірме жасау үшін қадамдарды орындаңыз
  2. Ішінде Сақтық көшірме параметрлері бет
  3. тексеріңіз Тек көшіруге арналған сақтық көшірме таңдау
  4. Сақтық көшірме жасау процесін қалыпты түрде аяқтаңыз

a файлының тек көшірме сақтық көшірмесін жасаңыз SQL Server деректер базасында SQL Server Менеджмент студиясы.

5. Сақтық көшірме жасау SQL Server T-SQL көмегімен деректер қоры

5.1 НЕГІЗГІ САҚТЫҚ КӨШІРУ ДЕРЕКТЕР ҚОРЫНЫҢ синтаксисі

T-SQL ДЕРЕКТЕРДІҢ САҚТЫҚ КӨПШІЛУ БАЗАСЫ пәрмені бағдарламалық басқаруды қамтамасыз етеді 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

Опциялар түсіндірілді:

  • FORMAT – Жаңа сақтық көшірме жинағын жасайды
  • INIT – Бар сақтық көшірме файлын қайта жазады
  • NAME – Сақтық көшірме жиынының атауын тағайындайды
  • СИПАТТАМАСЫ – Сипаттама мәтінін қосады
  • 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 пәрмендері

Транзакциялар журналының сақтық көшірмелерін жасау үшін САҚТЫҚ КӨШІРУ ЖУРНАЛЫ пайдаланыңыз:

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 сақтық көшірме командлеттері

SQL Server PowerShell модулі сақтық көшірмелерді автоматтандыруға арналған командлеттерді қамтамасыз етеді:

  • 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"
  • -S: Анықтайды SQL Server дананың атауы
  • -d: Дерекқор атауын көрсетеді
  • -С: Сұрауды орындайды және шығады
  • -ЖӘНЕ: Windows аутентификациясын пайдаланады
  • -У: Анықтайды SQL Server кіру пайдаланушы аты
  • -P: үшін құпия сөзді көрсетеді SQL Server кіру

7.1.2 SQLCMD көмегімен сақтық көшірме жасау

Сақтық көшірме жасау үшін SQL Server SQLCMD көмегімен мына қадамдарды орындаңыз:

  1. ашық Командалық шақыру or PowerShell
  2. Кілтсөзге өтіңіз SQL Server құралдар каталогы (әдетте орнату кезінде PATH ішіне қосылады)
  3. SQLCMD резервтік дерекқор пәрменін сәйкес параметрлермен орындаңыз
  4. Сақтық көшірме файлының сәтті жасалғанын тексеріңіз

Windows аутентификациясын қолданатын толық сақтық көшірме пәрменінің мысалы:

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. Microsoft орнына SQLCMD пайдалануды ұсынса да, OSQL ескі сценарийлер мен жүйелермен кері үйлесімділік үшін қолжетімді болып қалады.

7.2.1 Негізгі OSQL синтаксисі

OSQL синтаксисі SQLCMD-ге ұқсас:

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: SQL Server дананың атауы
  • -d: Мәліметтер қорының атауы
  • -С: Сұрауды орындайды және шығады
  • -ЖӘНЕ: Сенімді қосылымды пайдаланады (Windows аутентификациясы)
  • -У: Жүйеге кіру пайдаланушы аты
  • -P: Кіру құпия сөзі

7.2.2 OSQL көмегімен сақтық көшірме жасау

OSQL дерекқорының сақтық көшірмесін жасау әрекеттерін орындау үшін:

  1. ашық Командалық шақыру
  2. OSQL қол жетімді екенін тексеріңіз SQL Server орнату
  3. 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 бағдарламасымен интеграция
  • Автоматтандырылған сақтық көшірмені тексеру және тексеру
  • Әрқашан қолжетімділік топтарына қолдау көрсету
  • 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 қорғауы үшін Live Sync
  • Қолдау 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 Қадамдық қалпына келтіру процесі

  1. ашық SQL Server Менеджмент студиясы және серверге қосылыңыз
  2. In Object Explorer, тінтуірдің оң жағын басыңыз Мәліметтер базасы
  3. таңдау Дерекқорды қалпына келтіру
  4. Ішінде қайнар көз бөлімін таңдаңыз құрал
  5. басыңыз ... сақтық көшірме файлдарын шолу үшін түймешігін басыңыз
  6. басыңыз қосу және .bak файлыңызға өтіңіз
  7. Сақтық көшірме файлын таңдап, түймесін басыңыз OK
  8. Ішінде тағайындалған орын бөлімінде дерекқор атын енгізіңіз
  9. Қалпына келтіру үшін сақтық көшірме жинақтарын қарап шығыңыз
  10. басыңыз OK қалпына келтіруді бастау үшін

9.2.2 Параметрлер мен параметрлерді қалпына келтіру

басыңыз Опциялар конфигурациялау үшін сол жақ панельде:

  • Қолданыстағы дерекқорды қайта жазу (REPLACEМЕН) – Бар дерекқорды қалпына келтіруге мүмкіндік береді
  • Репликация күйлерін сақтау (WITH KEEP_REPLICATION) – сақтаңыз SQL Server репликалау мемлекет
  • Қалпына келтірілген дерекқорға кіруді шектеу (WITH RESTRICTED_USER) – Қалпына келтіруден кейінгі кіруді шектейді
  • Қалпына келтіру күйі – ҚАЛПЫНА КЕЛТІРУМЕН ҚАЛПЫНА ОТЫРУ немесе NORECOVERY арасында таңдаңыз

9.3 Дифференциалды сақтық көшірмені қалпына келтіру

Дифференциалды қалпына келтіру толық және дифференциалды сақтық көшірмелерді қажет етеді:

  1. Біріншіден, көмегімен толық сақтық көшірмені қалпына келтіріңіз NORECOVERY таңдау
  2. Содан кейін дифференциалды сақтық көшірмені қалпына келтіріңіз ҚАЙТАЛАУ таңдау

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 Транзакция журналының сақтық көшірмелері арқылы қалпына келтіру

Уақытында қалпына келтіру үшін келесі ретпен қалпына келтіріңіз:

  1. NORECOVERY көмегімен толық сақтық көшірмені қалпына келтіріңіз
  2. NORECOVERY көмегімен дифференциалды сақтық көшірмені қалпына келтіріңіз (бар болса)
  3. NORECOVERY көмегімен транзакция журналының сақтық көшірмелерін ретімен қалпына келтіріңіз
  4. Соңғы журналдың сақтық көшірмесін 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 Кәсіпорын басылымы (барлық нұсқалары) және стандартты басылымнан бастап SQL Server 2016 SP1.

9.6.2 2-әдіс: Уақытша дерекқорға қалпына келтіру (ең көп таралған)

Бұл әдіс мәселе туындағаннан кейін және ешқандай сурет болмағаннан кейін кесте деректерін қалпына келтіру қажет болған кезде жұмыс істейді:

  1. Уақытша дерекқорға сақтық көшірмені қалпына келтіру
  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 Өнімділік пен қорғанысты теңестіру

Жоспарлау кезінде мына факторларды ескеріңіз:

  • Тығыз емес сағаттар: Төмен белсенділік кезеңдерінде толық сақтық көшірмелерді іске қосыңыз
  • Ресурстың әсері: Қысу енгізу/шығару көлемін азайтады, бірақ процессорды пайдалануды арттырады
  • Желінің өткізу қабілеті: Трафик аз болған кезде желінің сақтық көшірмелерін жоспарлаңыз
  • Сақтық көшірме терезелері: Сақтық көшірмелердің жұмыс уақытына дейін аяқталғанына көз жеткізіңіз

10.3 Сақтық көшірмелерді сақтаудың ең жақсы тәжірибелері

10.3.1 Сайтта және сайттан тыс сақтау

Сайттағы сақтық көшірмелер:

  • Сақтық көшірме жасау және қалпына келтіру уақыты жылдамырақ
  • Жоғары жиілікті қолжетімділіктің төмен құны
  • Жергілікті апаттарға осал
  • Жылдам қалпына келтіру сценарийлері үшін ең жақсы

Сайттан тыс сақтық көшірмелер:

  • Белгілі бір учаскедегі апаттардан қорғау
  • Географиялық резервтік талаптарға сәйкестік
  • Қалпына келтіру уақыты баяу
  • Апатты қалпына келтіру үшін маңызды

10.3.2 Бұлтты сақтық көшірме опциялары

Бұлтты сақтаудың артықшылықтары:

  • Azure Blob қоймасы: туған SQL Server интеграция, сирек қолжетімділік үшін тиімді
  • Amazon S3: Өте берік, икемді сақтау қабаттары
  • Google бұлттық қоймасы: Бәсекеге қабілетті баға, жаһандық қолжетімділік

10.3.3 Сақтық көшірмелерді сақтау саясаты

Үлгіні сақтау саясаты:

  • Күнделікті сақтық көшірмелерді 7 күн бойы сақтаңыз
  • Апталық сақтық көшірмелерді 4 апта бойы сақтаңыз
  • Ай сайынғы сақтық көшірмелерді 12 ай бойы сақтаңыз
  • Жыл сайынғы сақтық көшірмелерді 7 жыл бойы сақтаңыз (сәйкестік)

10.4 Сақтық көшірмелерді қысу және шифрлау

Компрессияның артықшылықтары:

  • Сақтық көшірме файлының өлшемін 50-70%-ға азайтады
  • Сақтық көшірме уақытын азайтады
  • Сақтау шығындарын азайтады
  • Қашықтан сақтық көшірме жасау үшін желінің өткізу қабілетін азайтады

Шифрлаудың ең жақсы тәжірибелері:

  • Әрқашан құпия деректерді қамтитын сақтық көшірмелерді шифрлаңыз
  • AES 256-бит шифрлауын пайдаланыңыз
  • Қауіпсіз сертификат немесе кілттерді басқару
  • Шифрлау кілттерін құжаттаңыз және оларды бөлек сақтаңыз

10.5 Сақтық көшірмелерді тексеру және тексеру

10.5.1 Тұрақты қалпына келтіру сынақтары

Сынақ қалпына келтіру процедуралары тоқсан сайын немесе ай сайын:

  1. Сақтық көшірмелерді сынақ ортасына қалпына келтіріңіз
  2. Деректердің тұтастығын және толықтығын тексеріңіз
  3. Қолданбаның функционалдығын тексеріңіз
  4. Құжатты қалпына келтіру уақыты (RTO растау)
  5. Кез келген мәселелерді анықтаңыз және шешіңіз

10.5.2 ТЕК ҚАЛПЫНА ҚОЛДАНЫП, ТЕКСЕРУ

Сақтық көшірмені растауды автоматтандыру:

-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

Тексеруді сақтық көшірме жасау аяқталғаннан кейін немесе жоспарланған техникалық қызмет көрсету бөлігі ретінде дереу іске қосыңыз.

10.6 Сақтық көшірмелерді автоматтандыру және бақылау

10.6.1 SQL Server Агент жұмысы

Автоматтандырылған сақтық көшірме жұмыстарын жасау:

  1. кеңейту SQL Server агентСыртқы сілтеме SSMS ішінде
  2. Тінтуірдің оң жағын басыңыз Бос тармағын таңдаңыз және жаңа Job
  3. Тапсырманы атаңыз (мысалы, «Күнделікті толық сақтық көшірме»)
  4. а қосу қадам T-SQL сақтық көшірме командаларымен
  5. а жасау кесте орындау уақыты үшін
  6. конфигурациялау Хабарландырулар сәттілік/сәтсіздік үшін

10.6.2 Техникалық қызмет көрсету жоспарлары

SQL Server Техникалық қызмет көрсету жоспарлары сақтық көшірмелерді автоматтандыру үшін көрнекі интерфейсті қамтамасыз етеді:

  1. Шарлау тармағына өтіңіз Басқару -> Техникалық қызмет көрсету жоспарлары
  2. Тінтуірдің оң жақ түймешігімен нұқыңыз және таңдаңыз Техникалық қызмет көрсету жоспарының шебері
  3. Автоматтандыру үшін сақтық көшірме тапсырмаларын таңдаңыз
  4. Сақтық көшірме жасау кестесі мен опцияларын конфигурациялаңыз
  5. Есеп беруді және тіркеуді орнату

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 сақтық көшірме өнімділігін жақсарту:

  • Жолақты сақтық көшірмелер: Бір уақытта бірнеше файлға жазыңыз
  • Қысу: Енгізу/шығару және сақтау талаптарын азайтыңыз
  • Бірнеше сақтық көшірме құрылғылары: Сақтық көшірме операцияларын параллельдеу
  • Жылдам сақтау: Сақтық көшірме жасау үшін 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 Әрқашан қолжетімділік топтарында сақтық көшірме жасау

Әрқашан қолжетімділік топтары сақтық көшірме жүктемесін репликалар бойынша таратады:

  • Сақтық көшірме теңшелімдерін конфигурациялау (негізгі, қосымша немесе кез келген көшірме)
  • Негізгі жұмыс жүктемесін азайту үшін сақтық көшірмелерді қосымша көшірмелерге жүктеңіз
  • Қосымша көшірмелерде 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 қоймасына сақтық көшірме жасау

SQL Server тікелей Azure Blob қоймасына сақтық көшірме жасай алады:

  1. Azure сақтау тіркелгісін жасаңыз
  2. жасау SQL Server Azure аутентификациясына арналған тіркелгі деректері
  3. Сақтық көшірме тағайындау үшін 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 сақтық көшірме қалтасындағы қызмет тіркелгісі

Қате: «Сақтық көшірме құрылғысын ашу мүмкін емес... Құрылғы қатесі немесе құрылғы желіден тыс»

  • Себебі: Жарамсыз жол немесе қолжетімсіз желі бөлісу
  • Шешім: Жолдың бар екенін тексеріңіз, желі қосылымын тексеріңіз, жеткілікті дискілік кеңістікті тексеріңіз

Қате: «Дискінде орын жеткіліксіз»

  • Себебі: Сақтық көшірме жасау үшін дискілік орын жеткіліксіз
  • Шешім: Дискілік кеңістікті босатыңыз, қысуды қолданыңыз, басқа орынға сақтық көшірме жасаңыз

Қате: "Дерекқор қолданылуда. Дерекқорды басқа пайдаланушылар пайдалануда"

  • Себебі: Қалпына келтіру кезіндегі белсенді қосылымдар
  • Шешім: ОРЫНДАУ МЕНЕН опциясын пайдаланыңыз немесе алдымен пайдаланушыларды ажыратыңыз

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, төмендегідей:

  1. бастау DataNumen SQL Recovery.
  2. Сүзгіні «Барлық файлдар (*.*)» күйіне өзгерту арқылы бүлінген сақтық көшірме файлын бастапқы файл ретінде таңдаңыз:
    Қалпына келтірілетін бастапқы файл ретінде бүлінген сақтық көшірме файлын (*.bak) таңдаңыз.
  3. Қажет болса, шығыс .MDF файлын орнатыңыз.
  4. «Қалпына келтіруді бастау» түймесін басып, дерекқорды қалпына келтіру үшін нұсқауларды орындаңыз.
  5. Қалпына келтіру процесінен кейін жаңа қалпына келтіру дерекқоры пайда болады SQL Server ол барлық қалпына келтірілген деректерді қамтиды.

пайдалану DataNumen SQL Recovery бүлінген деректерді қалпына келтіру үшін SQL Server сақтық көшірме файлы (*.bak).

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: Сақтық көшірмелерде PHI шифрлау, қол жеткізуді бақылау, аудит жолдарын жүргізу
  • 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 Management Studio кірістірілген сақтық көшірме есептерін қамтиды:

  1. Object Explorer бағдарламасында дерекқорды тінтуірдің оң жақ түймешігімен басыңыз
  2. таңдау Есептер -> Стандартты есептер
  3. Қолжетімді есептерден таңдаңыз:
    • Оқиғалардың сақтық көшірмесін жасау және қалпына келтіру
    • Барлық сақтық көшірмелер
    • Транзакция журналының жөнелту күйі

14.3 Үшінші тарап бақылау құралдары

Коммерциялық бақылау шешімдері:

  • SQL Sentry: Кешенді бақылау және ескерту
  • Redgate SQL мониторы: Нақты уақыттағы мониторинг және диагностика
  • 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 Сақтық көшірме жасау керек пе?

Сақтық көшірме ұзақтығы мыналарға байланысты өзгереді:

  • Деректер базасының өлшемі: Үлкенірек дерекқорлар ұзағырақ уақыт алады
  • Сақтық көшірме түрі: Толық сақтық көшірмелер ең ұзақ уақыт алады
  • Қысу: CPU уақытын көбейте алады, бірақ жалпы ұзақтығын азайтады
  • Сақтау жылдамдығы: SSD дискілері қатты дискілерге қарағанда жылдамырақ
  • Сервер жүктемесі: Жоғары белсенділік сақтық көшірмелерді баяулатады

Әдеттегі ауқымдар: 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 желілік дискіге?

Желілік дискіге сақтық көшірме жасау үшін:

  1. қамтамасыз ету SQL Server қызмет тіркелгісінің желі бөлісуінде жазу рұқсаттары бар
  2. Сақтық көшірме пәрменінде UNC жолын пайдаланыңыз: \\ServerName\ShareName\BackupFile.bak
  3. Автоматтандырылған сақтық көшірмелерді жоспарлау алдында қосылымды тексеріңіз
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%-ға азайтады және процессорды пайдалануды көбейтсе де, енгізу/шығаруды азайту арқылы сақтық көшірме жасау уақытын жиі азайтады.

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 Backup үшін SQL Server

Орта кәсіпорындар:

  • SQL Server Техникалық қызмет көрсету жоспарлары
  • Redgate SQL Backup Pro сияқты үшінші тарап құралдары
  • Veeam Backup үшін SQL Server

Ірі кәсіпорындар:

  • Максималды қысу үшін LiteSpeed-ді іздеңіз
  • Кәсіпорынның сақтық көшірмелерін басқаруға арналған Commvault немесе Veritas NetBackup
  • Әрқашан қолжетімді топтар жоғары қолжетімділік

SQL Server Дерекқорды басқару үшін резервтік көшірме жасау өте маңызды. Тиісті жоспарлау, енгізу және тестілеу арқылы деректеріңіздің қорғалғанына және қажет болған жағдайда қалпына келтірілетініне көз жеткізе аласыз. Дерекқорды қорғау үшін осы ең жақсы тәжірибелерді бүгіннен бастап енгізе бастаңыз. SQL Server мәліметтер базасы.


Автор туралы

Юань Шэн бойынша 10 жылдан астам тәжірибесі бар дерекқордың аға әкімшісі (DBA) болып табылады SQL Server орталар мен кәсіпорынның дерекқорын басқару. Ол қаржы қызметтері, денсаулық сақтау және өндірістік ұйымдардағы дерекқорды қалпына келтірудің жүздеген сценарийлерін сәтті шешті.

Юань маманданған SQL Server дерекқорды қалпына келтіру, жоғары қолжетімді шешімдер және өнімділікті оңтайландыру. Оның кең тәжірибелік тәжірибесіне көп терабайттық дерекқорларды басқару, Әрқашан қолжетімділік топтарын енгізу және маңызды бизнес жүйелері үшін автоматтандырылған сақтық көшірме жасау және қалпына келтіру стратегияларын әзірлеу кіреді.

Техникалық тәжірибесі мен практикалық көзқарасы арқылы Юань дерекқор әкімшілері мен АТ мамандарына күрделі мәселелерді шешуге көмектесетін толық нұсқаулықтарды жасауға бағытталған. SQL Server қиындықтарды тиімді шешеді. Ол соңғы жаңалықтардан хабардар болып отырады SQL Server шығарылымдары мен Microsoft корпорациясының дамып келе жатқан дерекқор технологиялары, оның ұсыныстары нақты әлемдегі ең жақсы тәжірибелерді көрсететініне көз жеткізу үшін қалпына келтіру сценарийлерін жүйелі түрде сынап отырады.

туралы сұрақтарыңыз бар SQL Server қалпына келтіру немесе қосымша дерекқор ақаулықтарын жою нұсқаулығы қажет пе? Юань қарсы алады кері байланыс пен ұсыныстар осы техникалық ресурстарды жақсарту үшін.

Қазір бөлісу: