Қазір бөлісу:
Мазмұны жасыру

SQL Server дерекқор қалпына келтіру режимінде? Дәлелденген 10 түзетуді қазір алыңыз! Оңай жөндеуден кеңейтілген жөндеуге дейінгі қадамдық шешімдер.

1. Түсіну SQL Server Дерекқорды қалпына келтіру режимі

1.1 Қалпына келтіру режимі неде SQL Server

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

In SQL Server, дерекқорда «Қалпына келтіруде» тегі бар, яғни ол қазір қалпына келтіру режимінде.

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

1.2 Дерекқорды қалпына келтірудің үш фазасы

SQL Server қалпына келтіру үш түрлі кезеңнен тұрады:

1.2.1 Талдау кезеңі

SQL Server лас беттерді және белсенді транзакцияларды анықтау үшін соңғы бақылау нүктесінен транзакциялар журналын сканерлейді. Ол қалпына келтіруді қажет ететін нәрсені бақылау үшін лас беттер кестесін (DPT) және белсенді транзакциялар кестесін (ATT) жасайды.

1.2.2 Қайталау фазасы (алға айналдыру)

Жүйе бұзылудан бұрын дискіге жазылмаған барлық жасалған транзакцияларды қайталайды. Бұл барлық жасалған өзгертулердің дерекқор файлдарына дұрыс қолданылуын қамтамасыз етеді.

1.2.3 Қайтару фазасы (қайтару)

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

1.3 Жалпы симптомдар және қате туралы хабарлар

Сіздің кезде SQL Server db қалпына келтіруде, әдетте мыналарды көресіз:

  • «(Қалпына келтіруде)» көрсетілген дерекқор атауы SQL Server Менеджмент студиясы
  • «Дерекқор қалпына келтірілуде» хабарларымен кіру қателері
  • Қалпына келтіру орындалу пайыздарын көрсететін қате журналының жазбалары
  • Сұрау кезінде «ҚАЛПЫНА АЛУ» көрсетілген дерекқор күйі

2. Негізгі себептері SQL Server Қалпына келтіру режимінің мәселелері

2.1 Толық емес қалпына келтіру операциялары

Ең көп таралған себеп бірнеше сақтық көшірме файлдарынан қалпына келтіру кезінде орын алады NORECOVERY финалсыз опция ҚАЛПЫНА АЛУ МЕН пәрмен. Бұл дерекқорды қосымша қалпына келтіру әрекеттерін күтеді.

2.2 Транзакциялар журналының мәселелері

Үлкен транзакция журналының файлдары немесе шамадан тыс виртуалды журнал файлдары (VLF) қалпына келтіруді айтарлықтай баяулатады. MS SQL мыңдаған VLF файлдарымен қалпына келтірілгенде, процесті аяқтау үшін бірнеше сағат немесе күн кетуі мүмкін.

2.3 Жүйеге қатысты мәселелер

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

2.4 Мәліметтер қорының бүлінуі

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

3. Жөндеу алдындағы диагностикалық қадамдар

3.1 Тексеру SQL Server Қате журналдары

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

  1. ашық SQL Server Менеджмент студиясы
  2. Шарлау тармағына өтіңіз Басқару -> SQL Server Журналдар
  3. Дерекқор аты үшін соңғы жазбаларды қарап шығыңыз
  4. Қалпына келтіру кезеңінің көрсеткіштерін іздеңіз (3 кезеңнің 1, 2 немесе 3 фазасы)

Тексеру SQL Server қалпына келтіру барысы туралы хабарларға арналған қате журналдары.

3.2 Қалпына келтіру барысын бақылау

Белсенді қалпына келтіру әрекеттерін бақылау үшін динамикалық басқару көріністерін пайдаланыңыз:

SELECT session_id, command, blocking_session_id, wait_type, wait_time, wait_resource
FROM sys.dm_exec_requests
WHERE command = 'DB STARTUP';

3.3 Деректер базасының күйін тексеру

Қалпына келтіру күйін түсіну үшін ағымдағы дерекқор күйін тексеріңіз:

SELECT name, state_desc
FROM sys.databases
WHERE name = 'YourDatabaseName';

4. №1 түзету: табиғи қалпына келтірудің аяқталуын күтіңіз

Кейде шыдамдылық ең жақсы шешім болып табылады SQL Server дерекқор қалпына келтіруде. Бұл тәсіл қалпына келтіру қалыпты түрде жүріп жатқанда, бірақ күтілгеннен ұзағырақ уақыт алған кезде жұмыс істейді.

4.1 Қашан шыдамды болу керек

Табиғи аяқталуға рұқсат етіңіз:

  • Қате журналдары уақытты қысқарту арқылы тұрақты ілгерілеуді көрсетеді
  • Сыбайлас жемқорлық қателері хабарланбайды
  • Жақында дерекқорда үлкен транзакциялар болды
  • VLF саны басқарылады (1,000-нан аз)

4.2 Қалпына келтіру барысын бақылау

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

5. №2 түзету: ДЕРЕКТЕР ҚОРЫНЫН ҚАЛПЫНА ҚАЛПЫНА ҚАЛПЫНА ҚАЛПЫНА ҚАЛПЫНА АЛУ

Бұл түзету соңғы қалпына келтіру қадамы өткізілмей қалған толық емес қалпына келтіру әрекеттерін шешеді. Мұны сіздің кезде пайдаланыңыз SQL Server db қалпына келтіру NORECOVERY көмегімен қалпына келтіру процесінің нәтижесінде пайда болды.

5.1 Пәрменді түсіну

The ДЕРЕКТЕР ҚОРЫНЫН ҚАЛПЫНА ҚАЛПЫНА ҚАЛПЫНА ҚАЛПЫНА КЕЛТІРУ пәрмені орындалмаған транзакцияларды қайтару және дерекқорды желіге қосу арқылы қалпына келтіру процесін аяқтайды.

5.2 Іске асыру қадамдары

  1. ашық SQL Server Менеджмент студиясы
  2. Өзіңізге қосылыңыз SQL Server данасы
  3. басыңыз Жаңа > Ағымдағы қосылыммен сұрау
    ішінде жаңа сұрау жасаңыз SQL Server Менеджмент студиясы.
  4. Орындау: RESTORE DATABASE [YourDatabaseName] WITH RECOVERY;
  5. Аяқтауды растауды күтіңіз

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

6. №3 түзету: транзакция журналының мәселелерін шешу

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

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

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

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

6.2 Виртуалды журнал файлдарын (VLF) басқару

VLF санын келесі арқылы тексеріңіз:

DBCC LOGINFO('YourDatabaseName');

Егер сізде 1,000-нан астам VLF болса, оларды төмендетіңіз:

  1. Транзакция журналының сақтық көшірмесін жасау
  2. Журнал файлын кішірейту: DBCC SHRINKFILE(LogFileName, TRUNCATEONLY);
  3. Журнал файлын үлкен бөліктерде өсіру (1 ГБ немесе одан көп)

6.3 Журнал файлдарын қауіпсіз түрде кішірейту

Белсенді транзакциялар іске қосылмаған кезде ғана техникалық қызмет көрсету терезелері кезінде журналдарды қысқартыңыз. Әрекеттерді кішірейту алдында әрқашан дерекқордың сақтық көшірмесін жасаңыз.

7. №4 түзету: DBCC CHECKDB және жөндеуді іске қосыңыз

Дерекқордың бүлінуі қалпына келтіруді сәтті аяқтауға кедергі келтіруі мүмкін. DBCC CHECKDB — MS SQL қалпына келтіру режимінде сақтайтын кішігірім сыбайлас жемқорлық мәселелерін анықтай және жөндей алатын кірістірілген пәрмен.

7.1 Мәліметтер қорының бүлінуін тексеру

Дерекқор тұтастығын тексерудің стандартты тәсілінен бастаңыз. Алдымен DBCC CHECKDB функциясын тікелей қолданып көріңіз:

  1. Орындау: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  2. Сәйкестік қателері үшін нәтижелерді қарап шығыңыз
  3. Кез келген сыбайлас жемқорлық хабарламаларын құжаттаңыз

DBCC CHECKDB сәтсіз болса "Дерекқор қалпына келтірілуде. Қалпына келтіру аяқталғанша күту" сияқты қателер болса, бұл дерекқордың белсенді түрде қалпына келтіру режимінде екенін және кіруге тыйым салатынын білдіреді. Бұл жағдайда Төтенше жағдай режимін пайдалану үшін 7.3 бөліміне өтіңіз.

7.2 Қолжетімді дерекқорларды жөндеу опциялары

DBCC CHECKDB сәтті іске қосылып, бүліну табылса, мына жөндеу қадамдарын пайдаланыңыз:

  1. Дерекқорды бір пайдаланушы режиміне орнату: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  2. Қауіпсіз жөндеу әрекеті: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  3. Сәтсіз болса, пайдаланыңыз: DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  4. Көп пайдаланушыға оралу: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;

7.3 Деректер базасына қол жеткізу мүмкін болмаған кезде төтенше жағдай режимін пайдалану

Төтенше жағдай режимі дерекқор қалпына келтіруде тұрып қалғанда және қалыпты DBCC CHECKDB әрекеттерін қабылдамағанда ғана қажет. Ол дерекқорды READ_ONLY ретінде белгілейді және журнал жүргізуді өшіреді. Стандартты қатынас сәтсіз болғанда осы әдісті пайдаланыңыз:

  1. Төтенше режимді орнату: ALTER DATABASE [YourDatabaseName] SET EMERGENCY;
  2. Бір пайдаланушыны орнату: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  3. Тұтастығын тексеруді іске қосыңыз: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  4. Сыбайластық табылса, алдымен қауіпсіз жөндеуді іске қосыңыз: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  5. Сәтсіз болса, деректерді жоғалту арқылы жөндеуді пайдаланыңыз:  DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  6. Көп пайдаланушыны орнату: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;
  7. Желіде орнату: ALTER DATABASE [YourDatabaseName] SET ONLINE;

Маңызды: Төтенше жағдай режимі қалыпты қалпына келтіру процестерін айналып өтеді және дерекқор толығымен қолжетімсіз болғанда ғана пайдаланылуы керек. Төтенше жағдай режиміне көшпес бұрын әрқашан стандартты DBCC CHECKDB әдісін қолданып көріңіз.

Сіз таба аласыз DBCC CHECKDB пайдалану жолы туралы толығырақ нұсқаулық.

8. №5 түзету: Сақтық көшірмеден қалпына келтіру

Басқа әдістер сәтсіз болғанда немесе деректердің тұтастығы күмәнді болғанда, таза сақтық көшірмеден қалпына келтіру көбінесе мәселені шешудің ең сенімді шешімі болып табылады. SQL Server қалпына келтіру мәселелерінде дерекқор.

8.1 Сақтық көшірмені қалпына келтіруді қашан таңдау керек

Сақтық көшірмені қалпына келтіруді мына жағдайларда қарастырыңыз:

  • Қалпына келтіру 24 сағаттан астам уақыт бойы орындалмады
  • Сыбайлас жемқорлық қателері сәтті жөндеуге кедергі келтіреді
  • Сізде соңғы расталған сақтық көшірмелер бар
  • Соңғы сақтық көшірмеден бері деректердің жоғалуы қолайлы

8.2 Қадамдық қалпына келтіру процесі

  1. ашық SQL Server Менеджмент студиясы
  2. Тінтуірдің оң жағын басыңыз Мәліметтер базасы -> Дерекқорды қалпына келтіру
    Дерекқорды қалпына келтіру тапсырмасын іске қосыңыз SQL Server Менеджмент студиясы
  3. таңдау құрал Дереккөз астында
  4. басыңыз қосу және сақтық көшірме файлын шолыңыз
  5. Сақтық көшірмені таңдап, басыңыз OK
  6. таңдау Бар дерекқорды қайта жазыңыз қажет болса
  7. басыңыз OK қалпына келтіруді бастау үшін

Деректер базасын қалпына келтіріңіз SQL Server.

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

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

8.4 Анықтама

Қосымша ақпаратты біздің сайтымыздан біле аласыз сақтық көшірме жасау және қалпына келтіру туралы толық нұсқаулық SQL Server дерекқорлар.

9. №6 түзету: АВТО ЖАБУ сипатын өшіріңіз

Дерекқорды АВТО ЖАБУ сипаты қайталанатын қалпына келтіру циклдарын тудыруы мүмкін, бұл сіздің SQL Server db үнемі қалпына келтіруде. Бұл сипатты өшіру мәселені шешеді.

9.1 АВТО ЖАБУ мәселелерін түсіну

АВТОМАТТЫ ЖАБУ қосулы кезде, SQL Server соңғы қосылым аяқталғаннан кейін дерекқорды жабады, содан кейін оны жаңа қосылымдар үшін қайта ашады. Бұл қайталанатын ашу әр жолы қалпына келтіру процестерін іске қосады.

9.2 АВТО ЖАБУ функциясын өшіру

  1. ашық SQL Server Менеджмент студиясы
  2. Дерекқорды тінтуірдің оң жақ түймешігімен басыңыз -> Сипаттар
  3. таңдау Опциялар сол жақ панельден
  4. жиынтық Автоматты түрде жабу дейін жалған
  5. басыңыз OK өзгертулерді қолдануға

a үшін Автоматты жабу сипатын өшіріңіз SQL Server деректер базасында SQL Server Менеджмент студиясы.

Немесе T-SQL пайдаланыңыз:

ALTER DATABASE [YourDatabaseName] SET AUTO_CLOSE OFF;

10. №7 түзету: Қайта іске қосу SQL Server қызмет көрсету

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

10.1 Қызметті қайта іске қосу көмектескен кезде

Қызметті келесі жағдайларда қайта іске қосыңыз:

  • Қалпына келтіру барысы бірнеше сағат бойы тоқтап қалды
  • Қате журналдары жаңа жазбаларды көрсетпейді
  • Басқа деректер базалары қалыпты жұмыс істейді
  • Сіз ұзартылған тоқтау уақытын төлей аласыз

10.2 Қауіпсіз қайта іске қосу процедуралары

  1. ашық SQL Server Конфигурация менеджері Сыртқы сілтеме
  2. Шарлау тармағына өтіңіз SQL Server Қызметтер
  3. табу SQL Server қайта іске қосқыңыз келсе, тінтуірдің оң жақ түймешігін басыңыз SQL Server (Дана атауы)
  4. таңдау Қайтадан қосу
  5. Қызметтің толық қайта іске қосылуын күтіңіз
  6. Қалпына келтіру барысы үшін қате журналдарын бақылаңыз

Қайта қосыңыз SQL Server қызмет көрсету SQL Server Конфигурация менеджері.

Ескерту: Қайта іске қосу қалпына келтіруді басынан бастайды, бұл жалпы қалпына келтіру уақытын ұзартуы мүмкін.

11. №8 түзету: Дерекқорды ажырату және қайта қосу арқылы жөндеу

Төтенше жағдайларда дерекқорды ажыратып, қайта қосыңыз:

  1. Дерекқорды ажырату: EXEC sp_detach_db 'YourDatabaseName';
  2. Тек MDF файлын тіркеңіз: CREATE DATABASE [YourDB] ON (FILENAME = 'C:\Path\YourDB.mdf') FOR ATTACH_REBUILD_LOG;
  3. Бұл жаңа транзакция журналын қайта жасайды

Ескерту: Бұл әдіс деректердің жоғалуына әкелуі мүмкін. Басқа опциялар таусылғанда ғана пайдаланыңыз.

12. №9 түзету: Дерекқорды көшіру мәселелерін өңдеу

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

12.1 Айнаға тән қалпына келтіру мәселелері

Айналанған дерекқорлар серіктес қосылу мәселелеріне немесе соңғы нүкте ақауларына байланысты қалпына келтіруде тұрып қалуы мүмкін. Негізгі және айналмалы дерекқорлардың екеуі де қалпына келтіру күйін көрсете алады.

12.2 Айнадағы қалпына келтіру шешімдері

Көшірудің соңғы нүктесін қайта іске қосыңыз:

  1. Соңғы нүкте атауын табыңыз: SELECT * FROM sys.endpoints WHERE type = 4;
  2. Аяқтау нүктесі: ALTER ENDPOINT [EndpointName] STATE = STOPPED;
  3. Басталу нүктесі: ALTER ENDPOINT [EndpointName] STATE = STARTED;

Егер соңғы нүктені қайта іске қосу сәтсіз аяқталса, көшірме жасау серіктестігін үзіңіз:

  1. Орындау: ALTER DATABASE [DatabaseName] SET PARTNER OFF;
  2. Іске қосу: RESTORE DATABASE [DatabaseName] WITH RECOVERY;
  3. Дерекқор желіге қосылғаннан кейін шағылыстыруды қайта конфигурациялаңыз

13. №10 түзету: Кәсіби қалпына келтіру құралдарын пайдаланыңыз

Үшінші тарап қалпына келтіру құралдары кірістірілген кезде кеңейтілген жөндеу мүмкіндіктерін береді SQL Server әдістері сәтсіз. Бұл құралдар көбінесе қатты бүлінген дерекқорлардан деректерді қалпына келтіре алады.

13.1 DataNumen SQL Recovery

DataNumen SQL Recovery жан-жақты опциялармен бірге жоғары қалпына келтіру жылдамдығына ие.

Төменде оны пайдалану қадамдары берілген:

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

пайдалану DataNumen SQL Recovery бір бүлінген жөндеуге SQL Server MDF файлы.

13.2 Үшінші тарап құралдарын қашан қарастыру керек

Кәсіби құралдарды келесі жағдайларда пайдаланыңыз:

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

14. Алдын алудың озық тәжірибелері

14.1 Тұрақты техникалық қызмет көрсету тапсырмалары

Алдын алу үшін осы әрекеттерді орындаңыз SQL Server қалпына келтіру мәселелері бойынша дерекқор:

  • Тұрақты толық және журналдың сақтық көшірмелерін жоспарлаңыз: Толық резервтік тізбектерді сақтаңыз
  • VLF санын бақылау: Оңтайлы өнімділік үшін VLF мәндерін 100-ден төмен ұстаңыз
  • Журнал файлының өлшемін жоспарлау: Шамадан тыс автоөсуді болдырмас үшін журналдарды алдын ала мөлшерлеңіз
  • Тұрақты DBCC CHECKDB іске қосыңыз: Сыбайлас жемқорлықты ерте анықтаңыз

14.2 Бақылау және ескерту

Проактивті бақылауды орнату:

  1. Дерекқор күйінің өзгерістері туралы ескертулерді теңшеңіз
  2. Журнал файлы дискілеріндегі дискілік кеңістікті бақылаңыз
  3. Ұзақ мерзімді транзакцияларды бақылаңыз
  4. Шамадан тыс VLF саны туралы ескерту

14.3 Аппараттық қамтамасыз ету және инфрақұрылым

Сенімді инфрақұрылымды қамтамасыз ету:

15. Күрделі сценарийлерді ақаулықтарды жою

15.1 Деректер қорының бірнеше мәселелері

Бірнеше дерекқор қалпына келтіруде тұрып қалғанда:

  1. Жүйедегі ақауларды тексеріңіз (диск кеңістігі, жад)
  2. Қалпына келтіру үшін маңызды дерекқорларға басымдық беріңіз
  3. Бүкіл данаға әсер ететін аппараттық ақауларды қарастырыңыз
  4. Соңғы жүйе өзгерістерін немесе жаңартуларын қарап шығыңыз

15.2 Үлкен дерекқорды қарастыру

1 ТБ асатын дерекқорлар үшін:

  • Ұзақ қалпына келтіру уақытын күтіңіз (әлеуетті күндер)
  • Жадтың сәйкес бөлінуін қамтамасыз етіңіз
  • Параллель өңдеу параметрлерін қарастырыңыз
  • Қалпына келтіру кезінде tempdb кеңістігін бақылаңыз

15.3 Microsoft қолдау қызметіне қашан хабарласу керек

Microsoft қолдау қызметіне хабарласыңыз:

  • Сақтық көшірме опциялары жоқ маңызды өндірістік жүйелер
  • Күдікті SQL Server бағдарламалық қателер
  • Кепілдендірілген қалпына келтіруді қажет ететін кәсіпорын орталары
  • Күрделі Әрқашан қосулы немесе кластерлік сценарийлер

16. Жиі қойылатын сұрақтар

С: Қанша уақыт керек SQL Server дерекқорды қалпына келтіру әдетте қажет пе?

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

С: Мен тоқтай аламын ба? SQL Server деректерді жоғалтпай қалпына келтіру кезінде?

A: Тоқтау SQL Server Қалпына келтіру кезіндегі функция әдетте қауіпсіз, бірақ қызмет қайта іске қосылған кезде қалпына келтіру процесін басынан бастап қайта бастайды. Бұл жалпы қалпына келтіру уақытын ұзартады, бірақ бастапқы оқиға кезінде болғаннан тыс қосымша деректердің жоғалуына әкелмейді.

С: «Қалпына келтіруде» мен «Қалпына келтіру күтілуде» арасындағы айырмашылық неде?

A: «Қалпына келтіруде» дегенді білдіреді SQL Server қалпына келтіру операцияларын белсенді түрде орындап жатыр. «Қалпына келтіру күтілуде» қалпына келтіру процесінің басталмағанын білдіреді, әдетте файлдардың жоқтығына, рұқсаттардың жеткіліксіздігіне немесе қалпына келтіруді жалғастырмас бұрын шешілуі қажет дискілік кеңістік мәселелеріне байланысты.

«Қалпына келтіру күтілуде» туралы толығырақ ақпаратты біздің бөлімде таба аласыз жан-жақты нұсқаулық.

С: REPAIR_ALLOW_DATA_LOSS қолданбасын пайдалансам, деректерді жоғалтып аламын ба?

Ж: Иә, REPAIR_ALLOW_DATA_LOSS дерекқор дәйектілігін қалпына келтіру үшін бүлінген деректерді жоя алады. Әрқашан алдымен деректерді жоғалтпай құрылымдық мәселелерді түзететін REPAIR_REBUILD әрекетін орындап көріңіз. Басқа қалпына келтіру опциялары болмаған кезде ғана REPAIR_ALLOW_DATA_LOSS соңғы шара ретінде пайдаланыңыз.

С: Бір дерекқор қалпына келтіру кезінде басқа дерекқорларға қол жеткізе аламын ба?

A: Иә, басқа дерекқорлар бірдей SQL Server данасы қалпына келтіру кезінде қолжетімді болып қалады. Тек қалпына келтіріліп жатқан дерекқор қолжетімсіз. Дегенмен, қалпына келтіру әрекеттері сервердің жалпы жұмысына әсер етуі мүмкін.

С: Дерекқордың қалпына келтіру режимінде тұрып қалуына не себеп болады?

A: Жалпы себептерге NORECOVERY арқылы қалпына келтірудің аяқталмаған әрекеттері, шамадан тыс виртуалды журнал файлдары (VLF), орындалмаған үлкен транзакциялар, дерекқордың бүлінуі, дискілік кеңістіктің жеткіліксіздігі және аппараттық құралдар мәселелері жатады. АВТО ЖАБУ қосылған дерекқорлар да қалпына келтіруге үнемі кіретін болып көрінуі мүмкін.

С: Қалпына келтіру ілгерілеп жатқанын немесе тұрып қалғанын қалай білемін?

A: Монитор SQL Server Қалпына келтіру процесінің аяқталу пайызын көрсететін қате журналдары. Белсенді дерекқорды бастау командаларын тексеру үшін sys.dm_exec_requests пайдаланыңыз. Егер пайыздар уақыт өте келе артса, қалпына келтіру жүріп жатыр. Бірнеше сағат бойы жаңа журнал жазбаларының болмауы процестің тоқтап қалғанын көрсетуі мүмкін.

С: Қайта іске қосу қауіпсіз бе? SQL Server қалпына келтіру кезінде қызмет көрсету?

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

С: АВТО ЖАБУ мен қалпына келтіру режимінің айырмашылығы неде?

A: AUTO CLOSE ешқандай қосылымдар болмаған кезде дерекқорларды автоматты түрде жабады, содан кейін оларды жаңа қосылымдар үшін қайта ашады. Бұл қайталанатын ашу әр жолы қысқаша қалпына келтіру процестерін іске қосады, бұл дерекқор үнемі қалпына келтіріліп жатқандай көрінеді. АВТО ЖАБУ функциясын өшіру бұл мәселені шешеді.

С: Транзакция журналының сақтық көшірмелері қалпына келтіру кезінде көмектесе ала ма?

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

С: Microsoft қолдау қызметіне қашан хабарласуым керек?

A: Кірістірілген қалпына келтіру әдістері сәтсіз болған жағдайда, күдіктенсеңіз, маңызды өндіріс жүйелері үшін Microsoft қолдау қызметіне хабарласыңыз SQL Server күрделі Әрқашан қосулы немесе кластерлік сценарийлер үшін немесе кәсіпорын орталары ең аз тоқтау уақытымен кепілдік берілген деректерді қалпына келтіруді қажет ететін бағдарламалық құрал қателері.

С: Дерекқорлардың қалпына келтіру кезінде тұрып қалуын қалай болдырмауға болады?

Ж: Тұрақты толық және журналдың сақтық көшірмелерін орындаңыз, VLF сандарын бақылаңыз және басқарыңыз, барабар диск кеңістігін қамтамасыз етіңіз, дұрыс өшіру процедураларын пайдаланыңыз, жабдықтың сенімділігін қамтамасыз етіңіз, өндіріс дерекқорларында АВТО ЖАБУ функциясын өшіріңіз және сыбайлас жемқорлықты ерте анықтау үшін тұрақты DBCC CHECKDB әрекеттерін орындаңыз.

С: VLF дегеніміз не және олар қалпына келтіруге неге әсер етеді?

A: Виртуалды журнал файлдары (VLF) транзакция журналының файлдарындағы ішкі сегменттер болып табылады. Тым көп VLF (1,000-нан астам) қалпына келтіруді айтарлықтай баяулатады, себебі SQL Server әрқайсысын жеке өңдеу керек. Журнал файлының дұрыс өлшемі мен өсу параметрлері оңтайлы VLF сандарын сақтауға көмектеседі.

С: Дерекқор қалпына келтіру кезінде сақтық көшірмеден қалпына келтіруге болады ма?

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

17. Қорытынды және келесі қадамдар

17.1 Негізгі шешімдердің қысқаша мазмұны

Сіздің кезде SQL Server дерекқор қалпына келтіруде болса, келесі тәртіппен бастаңыз:

  1. Қате журналдарын тексеріңіз және орындалу барысын бақылаңыз
  2. Прогресс тұрақты болса, табиғи аяқталуды күтіңіз
  3. Толық емес қалпына келтірулер үшін ҚАЛПЫНА АЛУ МЕН ҚАЛПЫНА ҚАЛПЫНА ОТЫРУ функциясын пайдаланыңыз
  4. Транзакциялар журналының мәселелерін шешіңіз
  5. DBCC CHECKDB немесе сыбайлас жемқорлыққа арналған кәсіби құралдарды іске қосыңыз
  6. Ауыр жағдайларда сақтық көшірмені қалпына келтіруді қарастырыңыз

көбінесе SQL Server db қалпына келтіру жағдайларында осы дәлелденген әдістерді қолдану арқылы бірнеше сағат ішінде шешіледі. Күрделі сценарийлер үшін озық әдістерді немесе кәсіби құралдарды пайдаланудан тартынбаңыз.

17.2 Қосымша ресурстар

Қосымша көмек алу үшін:

Үнемі техникалық қызмет көрсету және бақылау қалпына келтіру мәселелерінің көпшілігінің алдын алады. Қалпына келтіру мәселелерінде MS SQL-дің болашақта пайда болуын азайту үшін осы нұсқаулықта көрсетілген алдын алу тәжірибелерін қолданыңыз.


Автор туралы

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

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

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

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

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