Կիսվել հիմա ՝
Բառը թաքցնել

Երբ ձեր SQL տվյալների բազան կանգ է առնում վերականգնման սպասման վիճակում, այն դառնում է անհասանելի, և գործողությունները կանգ են առնում: Այս համապարփակ ուղեցույցը տրամադրում է SQL տվյալների բազայի վերականգնման սպասման խնդիրները լուծելու 15 ապացուցված մեթոդ՝ պարզ վերագործարկումներից մինչև առաջադեմ արտակարգ վերանորոգումներ:

1. SQL տվյալների բազայի վերականգնման սպասող վիճակի հասկացումը

Մինչև որևէ լուծում փորձելը, ճիշտ լուծում ընտրելու համար կարևոր է հասկանալ, թե ինչն է առաջացնում SQL տվյալների բազայի վերականգնման սպասվող խնդիրները։

1.1 Ի՞նչ է նշանակում «Վերականգնման սպասման մեջ» հասկացությունը։

Վերականգնման սպասվող դեպքերը ցույց են տալիս, որ SQL Server ճանաչում է, որ տվյալների բազան վերականգնման կարիք ունի, բայց չի կարող սկսել վերականգնման գործընթացը: Ի տարբերություն «Վերականգնման» ցուցիչի, որը ցույց է տալիս ակտիվ վերականգնումը ընթացքի մեջ, «Վերականգնումը սպասող» ցուցիչը նշանակում է, որ վերականգնումը խոչընդոտված է որևէ խոչընդոտի պատճառով:

SQL Server տվյալների բազան վերականգնման սպասման վիճակում է։

Հիմնական տվյալների բազայի վիճակները ներառում են՝

  • ԱՌՑԱՆՑ - Նորմալ աշխատանքային վիճակ
  • ԱՌՈՂՋԱՑՈՒՄ - Վերականգնման գործընթացն ակտիվորեն ընթանում է
  • Վերականգնումը սպասվում է - Վերականգնումը չի կարող սկսվել
  • ԿԱՍԿԱԾՅԱԼ - Տվյալների բազան ունի կրիտիկական սխալներ
  • ԱՐՏԱԿԱՐԳ – Վերանորոգման համար սահմանափակ միայն ընթերցման հասանելիություն
  • Օֆլայն – Ձեռքով հանվել է ցանցից

1.2 SQL տվյալների բազայի վերականգնման սպասման տարածված պատճառները

SQL տվյալների բազայի վերականգնման սպասող խնդիրները սովորաբար առաջանում են հետևյալ տարածված պատճառներից՝

  • Բացակայող կամ վնասված գործարքների գրանցամատյանի ֆայլեր (LDF)
  • Վերականգնման գործողությունների ընթացքում սկավառակի տարածքը բավարար չէ
  • Սարքավորումների խափանումներ և համակարգի անսպասելի անջատումներ
  • Կոռումպացված MDF տվյալների բազայի ֆայլեր
  • Ֆայլի թույլտվության հետ կապված խնդիրներ, որոնք խոչընդոտում են մուտքը
  • SQL Server Ծառայության մեկնարկի ժամանակի հետ կապված խնդիրներ
  • FILESTREAM-ի կարգավորման սխալներ
  • Սխալ ֆայլերի ուղիներ սերվերի տեղափոխումից հետո

1.3 Ինչպես ստուգել տվյալների բազայի վիճակը

Ստուգեք ձեր տվյալների բազայի վիճակը հետևյալ մեթոդներով.

Օգտագործելով SQL Server Կառավարման ստուդիա.

  1. Միացեք ձեր SQL Server օրինակ
  2. Ընդարձակել Սայլակ թղթապանակ
  3. Փնտրեք «(Վերականգնումը սպասող)» կարգավիճակը ցուցադրող տվյալների բազաներ

SQL Server տվյալների բազան վերականգնման սպասման վիճակում է։

T-SQL հրամանի միջոցով՝

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

2. Սկզբնական ախտորոշիչ քայլեր

Ճիշտ ախտորոշումը կարևոր է նախքան SQL տվյալների բազայի վերականգնման որևէ փորձ կատարելը, որը սպասում է շտկումների։

2.1 Ստուգում SQL Server Սխալների մատյաններ

Սխալների գրանցամատյանները պարունակում են կարևոր տեղեկություններ վերականգնման սպասող վիճակի պատճառի մասին։

  1. բաց SQL Server Կառավարման ստուդիա
  2. navigate to կառավարում -> SQL Server Տեղեկամատյաններ
  3. Կրկնակի սեղմեք ընթացիկ գրանցամատյանի վրա՝ վերջին սխալները դիտելու համար
  4. Փնտրեք ձեր տվյալների բազայի հետ կապված սխալի հաղորդագրություններ

Ստուգում SQL Server սխալների գրանցամատյաններ ձեր տվյալների բազայի հետ կապված վերջին սխալների համար։

Այլընտրանքորեն, օգտագործեք T-SQL-ը.

EXEC sp_readerrorlog;

2.2 Ստուգեք Windows-ի իրադարձությունների գրանցամատյանները

  1. մամուլ Windows Key + R- ը
  2. Տիպ eventvwr.msc և սեղմեք Enter
    Բացեք Windows-ի իրադարձությունների դիտիչը։
  3. navigate to Windows- ի գրանցամատյանները -> համակարգ և դիմում
  4. Փնտրել SQL Server կապված սխալներ խնդրի առաջացման ժամանակահատվածում

Իրադարձությունների դիտման մեջ փնտրեք SQL Server կապված սխալներ, որոնք կարող են առաջացնել SQL տվյալների բազայի վերականգնման սպասող խնդիր։

2.3 Ֆայլի մատչելիության ստուգում

  1. Նավարկեք ձեր տվյալների բազայի ֆայլերի տեղակայման վայրերին
  2. Ստուգեք, որ MDF և LDF ֆայլերը գոյություն ունեն
  3. Ստուգեք, թե արդյոք սկավառակները առցանց են և հասանելի են
  4. Ստուգեք, որ ցանցային սկավառակները ճիշտ են միացված

3. Լուծում #1. Վերագործարկում SQL Server Ծառայություններ

Վերսկսվելը SQL Server Services-ը լուծում է SQL տվյալների բազայի վերականգնման բազմաթիվ խնդիրներ, որոնք առաջացել են ժամանակային խնդիրների կամ ժամանակավոր ռեսուրսների կոնֆլիկտների պատճառով։

3.1 Երբ ծառայության վերագործարկումն աշխատում է

Այս մեթոդը արդյունավետ է հետևյալի համար.

  • Ժամանակավոր ռեսուրսների կողպեքներ գործարկման ընթացքում
  • Drive-ի հասանելիության ուշացումներ
  • Ծառայությունից կախվածության ժամանակի հետ կապված խնդիրներ
  • Փոքր կոնֆիգուրացիայի կոնֆլիկտներ

3.2 Ինչպես վերագործարկել SQL Server Ծառայություններ

Method 1: SQL Server Կազմաձևման կառավարիչ

  1. բաց SQL Server Կազմաձևման կառավարիչ
  2. Սեղմել SQL Server Ծառայություններ
  3. Անմիջապես սեղմեք այն SQL Server օրինակ, ինչպես օրինակ՝ SQL Server (MSSQLSERVER)
  4. ընտրել Վերսկսել
  5. Սպասեք ծառայության լիարժեք վերագործարկմանը

Վերագործարկեք SQL Server ծառայության մեջ SQL Server Կազմաձևման կառավարիչ։

Մեթոդ 2. Ծառայությունների կոնսոլ

  1. մամուլ Windows Key + R- ը
  2. Տիպ services.msc և սեղմեք Enter
    Բացեք Windows ծառայությունների կոնսոլը:
  3. Գտնել SQL Server օրինակ, ինչպես օրինակ՝ SQL Server (MSSQLSERVER)
  4. Աջ սեղմեք և ընտրեք Վերսկսել

Վերագործարկեք SQL Server services կոնսոլում՝ SQL տվյալների բազայի վերականգնման սպասվող խնդիրը լուծելու համար։

Մեթոդ 3. PowerShell

Restart-Service -Name "MSSQLSERVER" -Force

3.3 Վերագործարկումից հետո ստուգում

  1. Սպասեք 2-3 րոպե՝ ամբողջական մեկնարկի համար
  2. Ստուգեք տվյալների բազայի կարգավիճակը SSMS-ում
  3. Ստուգեք սխալների գրանցամատյանները ցանկացած նոր հաղորդագրության համար
  4. Տվյալների բազայի կապի ստուգում

4. Լուծում #2. Սկավառակի տարածքի խնդիրների ստուգում և լուծում

Անբավարար սկավառակի տարածքը SQL տվյալների բազայի վերականգնման սպասվող խնդիրների տարածված պատճառն է: Վերականգնման գործողությունները պահանջում են լրացուցիչ տարածք ժամանակավոր ֆայլերի և գրանցամատյանի աճի համար:

4.1 Սկավառակի տարածքի խնդիրների բացահայտում

  1. բաց Պատկեր Explorer
  2. Անցնել տվյալների բազայի ֆայլեր պարունակող սկավառակներին
  3. Ստուգեք ազատ տարածքը
  4. Ապահովեք առնվազն 10-20% ազատ տարածք վերականգնման գործողությունների համար

4.2 Սկավառակի տարածքի ազատում

  1. Ջնջել ավելորդ ժամանակավոր ֆայլերը
  2. Մաքրել SQL Server պահուստային ֆայլեր, եթե տարածքը կարևոր է
  3. Տեղափոխեք ոչ էական ֆայլերը այլ սկավառակների վրա
  4. Հնարավորության դեպքում կրճատեք տվյալների բազայի մյուս ֆայլերը

Նեղացնել տվյալների բազայի ֆայլերը (օգտագործեք զգուշորեն).

DBCC SHRINKFILE (logicalfilename, target_size);

4.3 Տվյալների բազայի առցանց կարգավորումը տարածության շտկումից հետո

Երբ տեղ ազատ լինի, փորձեք տվյալների բազան առցանց տեղափոխել։

ALTER DATABASE [DatabaseName] SET ONLINE;

5. Լուծում #3. Սահմանել SQL Server Ծառայությունը հետաձգված մեկնարկի համար

Կարգավորում SQL Server Հետաձգված մեկնարկը լուծում է SQL տվյալների բազայի վերականգնման հետ կապված խնդիրները, որոնք առաջացել են համակարգի բեռնման ընթացքում պահեստային համակարգերի կամ ցանցային սկավառակների պատրաստ չլինելու պատճառով։

5.1 Ժամանակի հետ կապված խնդիրների ըմբռնումը

Ժամանակի հետ կապված խնդիրներ են առաջանում, երբ՝

  • SAN-ը կամ ցանցային պահեստը ժամանակ է պահանջում նախնականացման համար
  • Վաղ բեռնման ժամանակ սկավառակի տառերը չեն նշանակվում
  • Ցանցային կրիչները պահանջում են նույնականացում
  • Պահեստավորման կարգավորիչները նախնականացման ժամանակ են պահանջում

5.2 Հետաձգված մեկնարկի կարգավորում

  1. մամուլ Windows Key + R- ը
  2. Տիպ services.msc և սեղմեք Enter
    Բացեք Windows ծառայությունների կոնսոլը:
  3. Գտնել SQL Server օրինակ, ինչպես օրինակ՝ SQL Server (MSSQLSERVER)
  4. Աջ սեղմեք և ընտրեք Հատկություններ
  5. Փոփոխություն Գործարկման տեսակը դեպի Ավտոմատ (հետաձգված սկիզբ)
    Փոփոխություն SQL Server SQL տվյալների բազայի վերականգնման սպասվող խնդիրը լուծելու համար գործարկման տեսակը փոխեք «Ավտոմատ» (հետաձգված մեկնարկ):
  6. Սեղմել OK
  7. Վերագործարկեք համակարգը՝ փորձարկելու համար

5.3 Ժամանակի հաշվարկման այլընտրանքային լուծումներ

Ավելի մեծ վերահսկողության համար ստեղծեք ժամանակացույցով առաջադրանք՝

  1. բաց Առաջադրանքի ժամանակացույցը
  2. Սեղմել Գործողություն -> Ստեղծել հիմնական առաջադրանք
  3. Մուտքագրեք այն Անուն և Նկարագրություն առաջադրանքի, օրինակ՝ «Սկսման հետաձգում» SQL Server ծառայություն»
  4. հավաքածու ձգան դեպի Երբ համակարգիչը մեկնարկում է
  5. հավաքածու գործողություն դեպի Սկսեք ծրագիր
  6. հավաքածու Ծրագիր/Սցենար դեպի ամբողջական ճանապարհը Sqlservr.exe, այսպես՝ C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe: Այն գտնելու համար կարող եք օգտագործել Windows-ի որոնման գործառույթը:
  7. Ավարտական ​​էջում ընտրեք Բացել այս առաջադրանքի հատկությունների երկխոսության պատուհանը, երբ սեղմեմ «Ավարտել» կոճակը.
    Ստեղծեք առաջադրանք՝ հետաձգված մեկնարկի համար SQL Server Windows-ի առաջադրանքների ժամանակացույցում։
  8. Սեղմել Ավարտ.
  9. Առաջադրանքի հատկությունների երկխոսության պատուհանում սեղմեք Թողարկիչ ականջակալ
  10. Ընտրեք ակտիվացուցիչը և սեղմեք Խմբագրել
    Խմբագրեք առաջադրանքի ակտիվացուցիչը առաջադրանքի հատկությունների երկխոսության պատուհանում։
  11. «Ընդլայնված կարգավորումներ» բաժնում ստուգեք Հետաձգել առաջադրանքը՝ և սահմանեք ժամանակը 3 րոպեի վրա։
    SQL տվյալների բազայի վերականգնման սպասող սխալը լուծելու համար սահմանեք առաջադրանքի հետաձգված մեկնարկի ռեժիմ՝ 3 րոպեից հետո։
  12. Սեղմել OK.

6. Լուծում #4. Ֆայլերի թույլտվությունների և մուտքի իրավունքների շտկում

Թույլտվությունների հետ կապված խնդիրները կանխում են SQL Server տվյալների բազայի ֆայլերին մուտք գործելուց, ինչը կարող է հանգեցնել SQL տվյալների բազայի վերականգնման սպասվող վիճակների: Ֆայլերի համապատասխան թույլտվությունները կարևոր են տվյալների բազայի գործողությունների համար:

6.1 Թույլտվությունների հետ կապված տարածված խնդիրներ

  • SQL Server Ծառայության հաշիվը չունի ֆայլերին մուտք գործելու իրավունքներ
  • Հակավիրուսային ծրագիրը արգելափակում է ֆայլերի մուտքը
  • Անվտանգության քաղաքականության փոփոխություն
  • Ցանցի համօգտագործման թույլտվության խնդիրներ

6.2 Թղթապանակի թույլտվությունների ուղղում

  1. Անցնել տվյալների բազայի ֆայլերի պանակ
  2. Աջ սեղմեք թղթապանակի վրա և ընտրեք Հատկություններ
  3. Սեղմեք է Անվտանգություն ականջակալ
  4. Սեղմել Խմբագրել
  5. Ավելացնել SQL Server ծառայության հաշիվը բացակայում է
  6. Grant Լրիվ վերահսկողություն թույլտվությունները
  7. Սեղմել OK փոփոխությունները կիրառելու համար

Ստուգեք և ուղղեք թույլտվությունը SQL Server ծառայության հաշիվը դրա համար SQL Server տվյալների թղթապանակ։

Հրամանի տողի (icacls) օգտագործումը.

icacls "C:\Data" /grant "NT SERVICE\MSSQLSERVER":F /T

6.3 Ծառայության հաշվի նկատառումներ

Ստուգեք SQL Server սպասարկման հաշիվ՝

  1. բաց SQL Server Կազմաձևման կառավարիչ
  2. Սեղմել SQL Server Ծառայություններ
  3. Նշենք Մուտք գործել որպես հաշվի համար SQL Server
  4. Համոզվեք, որ այս հաշիվն ունի համապատասխան թույլտվություններ

Ստուգել SQL Server ծառայության հաշիվ՝ SQL տվյալների բազայի վերականգնման սպասվող խնդիրը լուծելու համար։

7. Լուծում #5. Ֆայլի ուղու ձեռքով ուղղում

Ֆայլի ուղու հետ կապված խնդիրներ են առաջանում, երբ տվյալների բազայի ֆայլերը տեղափոխվում են կամ սկավառակի տառերը փոխվում են։ Այս մեթոդը թարմացվում է։ SQL Server-ի ներքին ֆայլերի հղումները՝ առանց իրական ֆայլերը տեղափոխելու։

7.1 Երբ ճանապարհի հետ կապված խնդիրներ են առաջանում

  • Սերվերի սարքավորումների փոփոխություններ
  • Drive տառերի վերաբաշխումներ
  • Ցանցի ուղու փոփոխություններ
  • Տվյալների բազայի ֆայլերի տեղափոխում

7.2 Ֆայլերի ուղիների ուղղում

  1. Սխալների գրանցամատյաններում նույնականացրեք ընթացիկ ֆայլերի ուղիները
  2. Գտեք իրական տվյալների բազայի ֆայլերը
  3. Օգտագործեք ALTER DATABASE-ը՝ ուղիները թարմացնելու համար

Թարմացրեք տվյալների ֆայլի ուղին.

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalDataFileName', FILENAME = 'C:\NewPath\DatabaseName.mdf');

Թարմացնել գրանցամատյանի ֆայլի ուղին՝

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalLogFileName', FILENAME = 'C:\NewPath\DatabaseName_Log.ldf');

7.3 Հաստատման քայլեր

  1. Վերսկսել SQL Server ծառայություն
  2. Ստուգեք տվյալների բազայի կարգավիճակը
  3. Ստուգեք ուղու հետ կապված հաղորդագրությունների սխալների գրանցամատյանները
  4. Տվյալների բազայի կապի ստուգում

8. Լուծում #6. Տվյալների բազան հանեք ցանցից, ապա՝ առցանց

Այս պարզ վիճակի փոփոխությունը կարող է լուծել SQL տվյալների բազայի վերականգնման հետ կապված աննշան խնդիրները՝ պարտադրելով մաքուր վիճակի անցում և մաքրելով ժամանակավոր կողպեքները։

8.1 Երբ է այս մեթոդը գործում

  • Փոքր պետական ​​անհամապատասխանություններ
  • Ժամանակավոր ռեսուրսների կողպեքներ
  • Պարզ վերականգնման գործընթացը վերագործարկվում է
  • Ոչ կրիտիկական սխալի պայմաններ

8.2 Անցանց/Առցանց ընթացակարգ

  1. Համոզվեք, որ տվյալների բազայի հետ ակտիվ կապեր չկան
  2. Կատարեք offline հրամանը
  3. Սպասեք մի քանի վայրկյան
  4. Կատարեք առցանց հրամանը

Անվտանգ մեթոդ (սպասում է կապերի փակմանը):

ALTER DATABASE [DatabaseName] SET OFFLINE;
ALTER DATABASE [DatabaseName] SET ONLINE;

Անհապաղ մեթոդ (անջատում է կապերը):

ALTER DATABASE [DatabaseName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [DatabaseName] SET ONLINE;

8.3 Ռիսկերը և նկատառումները

Warning: ROLLBACK IMMEDIATE-ի օգտագործումը կարող է հանգեցնել տվյալների կորստի չկատարված գործարքներից: Օգտագործեք միայն անհրաժեշտության դեպքում և համոզվեք, որ օգտատերերը դուրս են եկել համակարգից:

9. Լուծում #7. Անջատել ավտոմատ փակման գործառույթը

ԱՎՏՈՄԱՏ ՓԱԿՄԱՆ գործառույթը կարող է SQL տվյալների բազայի վերականգնման հետ կապված խնդիրներ առաջացնել, երբ տվյալների բազաները հաճախակի բացվում և փակվում են, ինչը վերականգնման գործողությունների ընթացքում ժամանակային հակասություններ է ստեղծում։

9.1 Ավտոմատ փակման ազդեցության հասկացումը

  • Տվյալների բազան փակվում է վերջին օգտատիրոջ անջատումից հետո
  • Պետք է վերականգնվի ամեն անգամ, երբ տվյալների բազան բացվում է
  • Ստեղծում է հաճախակի վերականգնման ցիկլեր
  • Կարող է խանգարել այլ գործողություններին

9.2 Ավտոմատ փակման անջատում

T-SQL-ի օգտագործումը՝

ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;

Օգտագործելով SQL Server Կառավարման ստուդիա.

  1. Սեղմեք տվյալների բազայի վրա աջ կոճակով
  2. ընտրել Հատկություններ
  3. Գնալ Ընտրանքներ էջ
  4. հավաքածու Ավտոմատ փակում դեպի Կեղծ
  5. Սեղմել OK

Անջատեք ավտոմատ փակման հատկությունը a-ի համար SQL Server տվյալների բազա SQL Server Management Studio-ն կլուծի SQL տվյալների բազայի վերականգնման առկախ խնդիրը։

9.3 Առնչվող AUTO կարգավորումներ

Ավելի լավ աշխատանքի համար խորհուրդ է տրվում անջատել նաև AUTO_SHRINK-ը։

ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;

10. Լուծում #8. Ջնջել վնասված գրանցամատյանի ֆայլը և վերագործարկել

Այս մեթոդը գործում է, երբ գործարքների գրանցամատյանի ֆայլը խիստ վնասված է անդառնալիորեն։ Այն պետք է օգտագործվի միայն մշակման միջավայրերում կամ երբ տվյալների կորուստը թույլատրելի է։

10.1 Երբ է գրանցամատյանի ջնջումը նպատակահարմար

⚠️ ԿԱՐԵՎՈՐ ԶԳՈՒՇԱՑՈՒՄ. Այս մեթոդը հանգեցնում է տվյալների կորստի:

Օգտագործեք միայն այն դեպքում, երբ՝

  • Աշխատանք մշակման/փորձարկման տվյալների բազաների հետ
  • Գրանցամատյանի ֆայլը լիովին վնասված է
  • Վերականգնման այլ տարբերակներ գոյություն չունեն
  • Վերջին պահուստային պատճենները հասանելի են

10.2 Գրանցամատյանի ֆայլի ջնջման ընթացակարգ

  1. Դադարեցնել SQL Server ծառայությունն ամբողջությամբ
  2. Անցնել տվյալների բազայի ֆայլի գտնվելու վայրին
  3. Ջնջել .LDF ֆայլը (պահպանել .MDF ֆայլը)
  4. սկիզբ SQL Server ծառայություն
  5. SQL Server ավտոմատ կերպով կստեղծի նոր գրանցամատյանի ֆայլ

10.3 Կարևոր նախազգուշացումներ

Տվյալների կորստի հետևանքները.

  • Բոլոր չկատարված գործարքները ընդմիշտ կորչում են
  • Գրանցամատյանների շղթան խափանված է. դիֆերենցիալ պահուստավորումները անվավեր են
  • Ժամանակի ընթացքում վերականգնումը դառնում է անհնար
  • Օգտագործեք միայն ոչ արտադրական միջավայրերում

11. Լուծում #9. Առանձնացնել և վերամիացնել տվյալների բազան

Ուժերի անջատում և վերամիավորում SQL Server վերականգնել բացակայող կամ վնասված գրանցամատյանների ֆայլերը: Այս մեթոդը կարող է լուծել SQL տվյալների բազայի վերականգնման սպասվող խնդիրները, երբ գրանցամատյանների ֆայլերը խնդրահարույց են:

11.1 Երբ է աշխատում անջատումը/վերամիացումը

  • Բացակայող գրանցամատյանների ֆայլեր
  • Կոռումպացված գրանցամատյանի ֆայլերի վերնագրեր
  • Գրանցամատյանի ֆայլի ուղու փոփոխություններ
  • Պարզ կոռուպցիոն սցենարներ

11.2 Ստանդարտ անջատման/վերամիացման ընթացակարգ

  1. Նախ տվյալների բազան դրեք արտակարգ ռեժիմի վրա
  2. Անցնել բազմաօգտատիրոջ ռեժիմի
  3. Առանձնացրեք տվյալների բազան
  4. Վերամիացրեք միայն MDF ֆայլը
-- Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET MULTI_USER;

-- Detach database
EXEC sp_detach_db '[DatabaseName]';

-- Re-attach with single file (MDF only)
EXEC sp_attach_single_file_db 
    @DBName = '[DatabaseName]', 
    @physname = N'C:\Data\DatabaseName.mdf';

11.3 Կցման այլընտրանքային մեթոդներ

Բազմակի ֆայլերի սցենարների համար՝

CREATE DATABASE [DatabaseName] 
ON (FILENAME = 'C:\Data\DatabaseName.mdf'),
   (FILENAME = 'C:\Data\DatabaseName_2.ndf')
FOR ATTACH;

12. Լուծում #10. Վերակառուցել գործարքների գրանցամատյանի ֆայլերը

Գրանցամատյանի վերակառուցումը ստեղծում է նոր գործարքների գրանցամատյանի ֆայլ, երբ բնօրինակը բացակայում է կամ անդառնալիորեն վնասված է։ Այս մեթոդը լուծում է SQL տվյալների բազայի վերականգնման սպասվող խնդիրները, բայց հանգեցնում է տվյալների կորստի։

12.1 Երբ անհրաժեշտ է գերանի վերակառուցումը

  • LDF ֆայլերի բացակայություն սարքավորման խափանումից հետո
  • Լուրջ վնասված գործարքների գրանցամատյաններ
  • Գրանցամատյանի ֆայլի ուղու փոփոխություններ, որոնք չեն կարող շտկվել
  • Արտակարգ վերականգնման իրավիճակներ

12.2 Գրանցամատյանի վերակառուցման գործընթաց

⚠️ ԶԳՈՒՇԱՑՈՒՄ. Սա հանգեցնում է տվյալների կորստի։

  1. Տվյալների բազան դրեք արտակարգ ռեժիմի վրա
  2. Օգտագործեք REBUILD LOG հրամանը
  3. Նշեք նոր գրանցամատյանի ֆայլի տեղը
  4. Տվյալների բազան առցանց բերելը
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

ALTER DATABASE [DatabaseName] REBUILD LOG ON 
(NAME = 'DatabaseName_Log', FILENAME = 'C:\Logs\DatabaseName_Log.ldf');
GO

ALTER DATABASE [DatabaseName] SET ONLINE;
GO

12.3 Տվյալների կորստի հետևանքների ըմբռնումը

Գրանցամատյանի վերականգնման պատճառները՝

  • Բոլոր չկատարված գործարքների կորուստը
  • Կոտրված լոգարիթմական հաջորդականության համարներ
  • Հետագա գրանցամատյանների պահուստավորումներ կիրառելու անկարողություն
  • Ժամանակի ընթացքում վերականգնումը դառնում է անհնար

13. Լուծում #11. Արտակարգ ռեժիմի վերանորոգում DBCC CHECKDB

Արտակարգ ռեժիմի վերականգնումը SQL տվյալների բազայի վնասման հետևանքով առաջացած խնդիրների վերականգնման վերջին միջոցն է: Այս մեթոդը կարող է վերականգնել տվյալների բազաները, բայց կարող է հանգեցնել տվյալների զգալի կորստի:

13.1 Արտակարգ իրավիճակի ռեժիմի հասկացումը

⚠️ ԾԱՅՐԱՀԵՂ ԶԳՈՒՇԱՑՈՒՄ. Տվյալների կորստի բարձր ռիսկ կա։

Արտակարգ իրավիճակների ռեժիմը օգտագործեք միայն այն դեպքում, երբ՝

  • Բոլոր մյուս մեթոդները ձախողվել են
  • Վերջերս պահուստավորված պատճեններ չկան
  • Որոշակի տվյալների վերականգնումն ավելի լավ է, քան լրիվ կորուստը
  • Տվյալների բազան կրիտիկականորեն վնասված է

13.2 Արտակարգ վերանորոգման ընթացակարգ

  1. Նախապես պահուստավորեք վնասված տվյալների բազայի ֆայլերը
  2. Տվյալների բազան դրեք արտակարգ ռեժիմի վրա
  3. Անցնել մեկ օգտատիրոջ ռեժիմի
  4. Գործարկեք CHECKDB-ը վերանորոգման տարբերակով
  5. Վերադառնալ բազմաօգտատիրոջ ռեժիմին
-- Step 1: Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

-- Step 2: Single user mode
ALTER DATABASE [DatabaseName] SET SINGLE_USER;
GO

-- Step 3: Repair with no data loss
DBCC CHECKDB ([DatabaseName], REPAIR_REBUILD) WITH ALL_ERRORMSGS;
GO

-- Step 4: Return to multi-user
ALTER DATABASE [DatabaseName] SET MULTI_USER;
GO

13.3 Վերանորոգումից հետո գնահատում

  1. Վերանայեք CHECKDB-ի արդյունքը՝ վերանորոգման գործողությունների համար
  2. Ստուգեք բացակայող աղյուսակները կամ տվյալները
  3. Ստուգեք կարևորագույն հավելվածի ֆունկցիոնալությունը
  4. Եթե ​​չափազանց շատ տվյալներ են կորել, խորհուրդ է տրվում վերականգնել պահուստային պատճենից

14. Լուծում #12. FILESTREAM-ի կարգավորումների ստուգում և ուղղում

FILESTREAM-ի կարգավորման խնդիրները կարող են առաջացնել SQL տվյալների բազայի վերականգնման սպասող խնդիրներ: Այս մեթոդը լուծում է FILESTREAM-ին բնորոշ վերականգնման ձախողումները:

14.1 FILESTREAM-ի հետ կապված վերականգնման խնդիրներ

  • FILESTREAM դրայվերի միացման խափանումներ
  • Կարգավորումների անհամապատասխանությունները SQL Server և օպերացիոն համակարգ
  • Ծառայության մեկնարկի ժամանակ ժամանակային խնդիրներ
  • FILESTREAM կոնտեյներների հետ թույլտվության խնդիրներ

14.2 FILESTREAM-ի խնդիրների լուծում

  1. Ստուգեք FILESTREAM-ի կարգավորման մակարդակը
  2. Ստուգեք, որ Windows-ի գործառույթը միացված է
  3. Վերագործարկեք անհրաժեշտ ծառայությունները
  4. Ստուգեք FILESTREAM կոնտեյների թույլտվությունները

Ստուգեք FILESTREAM-ի կարգավորումը՝

SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;

Միացնել FILESTREAM-ը օրինակի մակարդակում՝

EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;

14.3 FILESTREAM-ի լավագույն փորձը

  • Ապահովեք համապատասխան կարգավորում վերագործարկումների ընթացքում
  • Ստուգեք, որ FILESTREAM կոնտեյների ուղիները հասանելի են
  • Ստուգեք, որ Windows FILESTREAM գործառույթը ճիշտ է միացված
  • FILESTREAM-ի հետ կապված սխալի հաղորդագրությունների հետևում

15. Լուծում #13. Թարմացում SQL Server Տարբերակ/Ծառայությունների փաթեթներ

Հին SQL Server տարբերակները, մասնավորապես RTM թողարկումները, պարունակում են հայտնի սխալներ, որոնք առաջացնում են SQL տվյալների բազայի վերականգնման սպասվող խնդիրներ: Վերջին ծառայության փաթեթներին թարմացումը լուծում է այս խնդիրները:

15.1 Հայտնի խնդիրներ հին տարբերակներում

  • SQL Server 2005 թվականի RTM վերականգնման սխալներ
  • Վերականգնման գործընթացների համար սպասարկման փաթեթին հատուկ ուղղումներ
  • Կուտակային թարմացումներ, որոնք վերաբերում են ծայրահեղ դեպքերին
  • Համատեղելիության խնդիրներ Windows-ի նոր տարբերակների հետ

15.2 Թարմացման գործընթաց

  1. Ստուգեք հոսանքը SQL Server տարբերակ
  2. Գտեք վերջին հասանելի սպասարկման փաթեթը
  3. Բեռնել Microsoft- ի վերբեռնման կենտրոն Արտաքին ՈՒղեցույց
  4. Պլանավորեք սպասարկման պատուհանը
  5. Տեղադրեք սպասարկման փաթեթը
  6. Վերագործարկեք ծառայությունները
  7. Ստուգեք տվյալների բազայի ֆունկցիոնալությունը

Ստուգեք ներկայիս տարբերակը՝

SELECT @@VERSION;

15.3 Թարմացումից հետո ստուգում

  1. Հաստատեք տարբերակի համարի փոփոխությունը
  2. Ստուգեք, որ բոլոր տվյալների բազաները ճիշտ են միացված առցանց ռեժիմով
  3. Գործարկեք հիմնական ֆունկցիոնալության թեստեր
  4. Հետևեք սխալների գրանցամատյաններին՝ ցանկացած նոր խնդրի համար

16. Լուծում #14. Վերականգնել տվյալների բազան պահուստային պատճենից

Երբ SQL տվյալների բազայի վերականգնման սպասվող խնդիրները չեն կարող լուծվել վերականգնման մեթոդներով, հայտնի լավ պահուստային պատճենից վերականգնումը ապահովում է ամենահուսալի լուծումը՝ տվյալների կորստի կանխատեսելի սահմաններով։

16.1 Երբ պահուստային պատճենի վերականգնումը լուծում է

  • Վերանորոգման բազմաթիվ փորձերը ձախողվել են
  • Կարևոր արտադրական տվյալները պահանջում են որոշակիություն
  • Գոյություն ունի ընդունելի տվյալների կորստի պատուհան
  • Կոռուպցիան չափազանց տարածված է վերականգնվելու համար

16.2 Տվյալների բազայի ամբողջական վերականգնման գործընթաց

  1. Սահմանեք ամենավերջին օգտագործելի պահուստային պատճենը
  2. Վերականգնման համար ապահովեք բավարար սկավառակի տարածք
  3. Անհրաժեշտության դեպքում հանեք տվյալների բազան ցանցից կամ հանեք այն
  4. Վերականգնել պահուստային ֆայլից
  5. Կիրառել գրանցամատյանների պահուստավորումները, եթե հնարավոր է

Հիմնական վերականգնումը լրիվ պահուստավորումից.

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH REPLACE;

Վերականգնել գրանցամատյանների պահուստավորմամբ՝ ժամանակի ընթացքում վերականգնման համար.

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName_Log.trn'
WITH RECOVERY;

16.3 Ստուգում և փորձարկում

  1. Ստուգեք, որ տվյալների բազան հաջողությամբ միացել է առցանց ռեժիմին
  2. Ստուգեք տվյալների ամբողջականությունը CHECKDB-ի միջոցով
  3. Փորձարկեք կարևորագույն կիրառական գործառույթները
  4. Հաստատեք, որ պահուստավորումը/վերականգնումն ավարտվել է առանց սխալների

16.4 Հղում

Ավելի շատ տեղեկություններ կարող եք ստանալ մեր կայքից համապարփակ ուղեցույց՝ պահուստավորման և վերականգնման վերաբերյալ SQL Server Տվյալների բազաներ.

17. Լուծում #15. Մասնագիտական ​​SQL վերականգնման գործիքներ

Երբ ձեռքով մեթոդները չեն կարողանում լուծել SQL տվյալների բազայի վերականգնման առկախ խնդիրները, մասնագիտացված վերականգնման ծրագրակազմը կարող է տվյալներ արդյունահանել խիստ վնասված տվյալների բազաներից, որոնք չեն կարող վերականգնվել ստանդարտ մեթոդներով։

17.1 Ե՞րբ պետք է դիտարկել երրորդ կողմի գործիքները

  • Լուրջ կոռուպցիա՝ ձեռքով վերանորոգման հնարավորություններից այն կողմ
  • Կարևոր տվյալներ՝ առանց պահուստային պատճենների
  • Ձեռքով վերանորոգման բազմաթիվ անհաջող փորձեր
  • Ժամանակի կարևոր վերականգնման պահանջներ

17.2 DataNumen SQL Recovery

DataNumen SQL Recovery հզոր SQL Server տվյալների բազայի վերականգնման գործիք:

Ստորև բերված են այն օգտագործելու քայլերը.

  1. Դադարեցրեք SQL Server Ծառայություն
    Դադարեցրեք SQL Server ծառայությունը ծառայությունների կոնսոլում։
  2. Պատճենեք վերականգնման սպասող տվյալների բազայի ֆայլերը, ներառյալ ինչպես հիմնական MDF ֆայլը, այնպես էլ երկրորդական NDF ֆայլերը:
  3. Սկսեք SQL Server Ծառայություն
  4. սկիզբ DataNumen SQL Recovery.
  5. Որպես վերականգնվող տվյալների բազայի աղբյուր՝ ընտրեք պատճենը, բնօրինակ ֆայլի փոխարեն։
  6. Սեղմեք «Սկսել վերականգնումը» և հետևեք հրահանգներին՝ տվյալների բազան վերականգնելու համար։
  7. Վերականգնման գործընթացից հետո կհայտնվի վերականգնման նոր տվյալների բազա SQL Server որը պարունակում է բոլոր վերականգնված տվյալները։

օգտագործում DataNumen SQL Recovery վերանորոգել մեկ կոռումպացված SQL Server MDF ֆայլը և լուծեք SQL տվյալների բազայի վերականգնման սպասող սխալը։

18. Խնդիրների լուծման առաջադեմ սցենարներ

Բարդ միջավայրերը պահանջում են մասնագիտացված մոտեցումներ՝ SQL տվյալների բազայի վերականգնման առկախ խնդիրները լուծելու համար։

18.1 Բազմակի տվյալների բազայի ֆայլերի հետ կապված խնդիրներ

Բազմաթիվ տվյալների ֆայլեր պարունակող տվյալների բազաները (NDF) պահանջում են զգույշ վարվելակերպ.

  • Որոշեք, թե որ ֆայլերի խմբերն են ազդվում
  • Ստուգեք բոլոր NDF ֆայլերի հասանելիությունը
  • Դիտարկեք ֆայլերի խմբին հատուկ վերականգնման տարբերակները
  • Միայն ընթերցման համար նախատեսված ֆայլային խմբերը պատշաճ կերպով մշակեք

18.2 Մշտապես հասանելի խմբեր

SQL տվյալների բազայի վերականգնումը սպասվում է Միշտ On միջավայրեր՝

  • Նախ ստուգեք հիմնական կրկնօրինակի կարգավիճակը
  • Ստուգեք համաժամացման վիճակը
  • Դիտարկեք խնդրահարույց կրկնօրինակը հեռացնելու և վերստին ավելացնելու հնարավորությունը
  • Վերանայել հասանելիության խմբի կարգավորումը

18.3 Կլաստերային և բարձր մատչելիության սցենարներ

SQL տվյալների բազայի վերականգնումը սպասվում է ձախողման կլաստեր և բարձր հասանելիություն սցենարներ:

  • Ստուգեք համատեղ պահեստի հասանելիությունը
  • Ստուգեք կլաստերի հանգույցի հաղորդակցությունները
  • Վերանայեք ձախողման կլաստերի գրանցամատյանները
  • Ապահովեք DNS-ի ճիշտ լուծումը

18.4 WMI և համակարգային մակարդակի խնդիրներ

Համակարգային մակարդակի խնդիրները կարող են առաջացնել տվյալների բազայի խնդիրներ.

  • WMI պահոցի վնասում
  • Windows-ի թարմացումների ձախողում
  • Գրանցամատյանի վնասում
  • Ծառայությունից կախվածության խնդիրներ

19. Կանխարգելման ռազմավարություններ

SQL տվյալների բազայի վերականգնման սպասվող խնդիրների կանխարգելումն ավելի արդյունավետ է, քան դրանց առաջանալուց հետո դրանց լուծումը։

19.1 Պահուստավորման լավագույն մեթոդները

  1. Կատարել ավտոմատացված լրիվ պահուստավորման ժամանակացույցեր
  2. Կարգավորեք կանոնավոր դիֆերենցիալ պահուստավորումները
  3. Կարգավորեք գործարքների գրանցամատյանի հաճախակի պահուստավորումներ
  4. Պարբերաբար փորձարկեք պահուստային պատճենների վերականգնման ընթացակարգերը
  5. Պահեք պահուստային պատճենները առանձին պահեստային համակարգերում
  6. Ստուգեք պահուստային պատճենի ամբողջականությունը RESTORE VERIFYONLY-ի միջոցով

19.2 Մոնիտորինգ և սպասարկում

  1. Կարգավորեք սկավառակի տարածքի մոնիթորինգի ազդանշանները
  2. Ժամանակացույց կազմել DBCC CHECKDB-ի կանոնավոր գործողությունների համար
  3. Մոնիտոր SQL Server սխալների գրանցամատյաններ ամեն օր
  4. Իրականացնել կատարողականի բազային մոնիթորինգ
  5. Համաձեւել SQL Server Գործակալը զգուշացնում է կարևոր սխալների մասին

19.3 Ենթակառուցվածքային նկատառումներ

  • Տեղադրեք UPS համակարգեր՝ էլեկտրաէներգիայի պաշտպանության համար
  • Օգտագործեք ձեռնարկության մակարդակի պահեստ՝ ավելորդությամբ
  • Կիրառել պատշաճ անջատման ընթացակարգեր
  • Ապահովեք ցանցի կայունությունը համատեղ պահեստավորման համար
  • Սարքավորումների առողջության կանոնավոր մոնիթորինգ

19.4 SQL Server Կարգավորման լավագույն փորձը

  • Ընտրեք համապատասխան վերականգնման մոդելներ
  • Կարգավորեք խելամիտ ավտոմատ աճի կարգավորումները
  • Առանձնացրեք տվյալները և գրանցամատյանների ֆայլերը տարբեր սկավառակների վրա
  • Օգտագործեք նվիրված ծառայության հաշիվներ՝ նվազագույն արտոնություններով
  • պահել SQL Server թարմացված է վերջին սպասարկման փաթեթներով

20. Որոշումների ծառի խնդիրների լուծում և մեթոդաբանություն

Հետևեք այս համակարգված մոտեցմանը, երբ բախվում եք SQL տվյալների բազայի վերականգնման սպասվող խնդիրների։

20.1 Համակարգային ախտորոշման մոտեցում

  1. Նախ ստուգեք սխալների գրանցամատյանները - Միշտ սկսեք SQL Server և Windows-ի գրանցամատյաններ
  2. Ստուգեք ֆայլի հասանելիությունը - Համոզվեք, որ բոլոր տվյալների բազայի ֆայլերը գոյություն ունեն և ընթեռնելի են
  3. Ստուգեք սկավառակի տարածքը - Հաստատեք վերականգնման գործողությունների համար բավարար տարածք
  4. Նախ փորձեք պարզ լուծումներ – Ծառայության վերագործարկում, անցանց/առցանց
  5. Առաջընթաց դեպի բարդ վերանորոգման - Միայն պարզ մեթոդների ձախողումից հետո
  6. Դիտարկեք վերականգնումը պահուստային պատճենից։ – Երբ վերանորոգման ռիսկերը չափազանց բարձր են

20.2 Ճիշտ շտկման մեթոդի ընտրություն

Ցածր ռիսկ (փորձեք նախ):

  • Վերսկսել SQL Server ծառայություններ
  • Ստուգեք և լուծեք սկավառակի տարածքը
  • Ուղղել ֆայլի թույլտվությունները
  • Անցանց/Առցանց տվյալների բազա

Միջին ռիսկ՝

  • Ֆայլի ուղու ուղղումներ
  • Անջատել ավտոմատ փակումը
  • FILESTREAM-ի կարգավորման ուղղումներ
  • Ծառայության մեկնարկը հետաձգվել է

Բարձր ռիսկ (տվյալների կորստի հնարավորություն):

  • Ջնջել գրանցամատյանի ֆայլը և վերագործարկել
  • Առանձնացնել/վերամիացնել տվյալների բազան
  • Վերակառուցել գործարքների գրանցամատյանները
  • Արտակարգ ռեժիմի վերանորոգում DBCC CHECKDB

20.3 Ե՞րբ է անհրաժեշտ սրել իրավիճակը

Դիմեք մասնագիտական օգնության, երբ՝

  • Բազմաթիվ բարձր ռիսկի մեթոդներ ձախողվել են
  • Տվյալների բազան պարունակում է անփոխարինելի կարևոր տվյալներ
  • Կոռուպցիան ազդում է բազմաթիվ տվյալների բազաների վրա
  • Կասկածվում են համակարգային խնդիրներ
  • Ժամանակային սահմանափակումները պահանջում են երաշխավորված արդյունքներ

21. ՀՏՀ

Հարց. Ի՞նչ տարբերություն կա տվյալների բազայի «ՎԵՐԱԿԱՆԳՆՎՈՒՄ Է» և «ՎԵՐԱԿԱՆԳՆՈՒՄԸ ՍՊԱՍՎՈՒՄ Է» վիճակների միջև:

Ա. «ՎԵՐԱԿԱՆԳՆՎՈՒՄ Է» նշանակում է, որ տվյալների բազան ակտիվորեն կատարում է վերականգնման գործողություններ և ավտոմատ կերպով կմիանա ցանցին ավարտվելուց հետո: «ՎԵՐԱԿԱՆԳՆՈՒՄԸ ՍՊԱՍՎՈՒՄ Է» նշանակում է SQL Server Հնարավոր չէ սկսել վերականգնման գործընթացը՝ բացակայող ֆայլերի, անբավարար տարածքի կամ վնասվածության պատճառով: Վերականգնումը սպասող խնդիրը լուծելու համար անհրաժեշտ է ձեռքով միջամտություն:

Հարց. SQL տվյալների բազայի վերականգնման սպասվող խնդիրների դեպքում որ լուծումը պետք է փորձեմ առաջինը:

Ա. Միշտ սկսեք ամենաապահով մեթոդներից: Ստուգեք SQL Server սխալների գրանցամատյաններ, ստուգեք սկավառակի տարածքի առկայությունը, այնուհետև փորձեք վերագործարկել SQL Server ծառայություններ: Այս ցածր ռիսկային մոտեցումները լուծում են վերականգնման սպասվող ամենատարածված խնդիրները՝ առանց տվյալների կորստի որևէ ռիսկի:

Հարց. Որքա՞ն ժամանակ պետք է սպասեմ, նախքան մեկ այլ շտկման մեթոդ փորձելը։

Ա. Ծառայության վերագործարկման համար սպասեք 2-3 րոպե՝ ամբողջական մեկնարկի համար: Պարզ վիճակի փոփոխությունների համար, ինչպիսիք են՝ անցանց/առցանց ռեժիմը, սպասեք 30-60 վայրկյան: Բարդ վերանորոգման համար, ինչպիսին է DBCC CHECKDB-ը, հաշվի առեք մի քանի ժամ՝ կախված տվյալների բազայի չափից: Մի ընդհատեք վերականգնման գործընթացները մեկնարկելուց հետո:

Հարց. Արդյո՞ք ես կկորցնեմ տվյալներ SQL տվյալների բազայի վերականգնման սպասվող խնդիրները լուծելիս:

Ա. Տվյալների կորուստը կախված է օգտագործվող մեթոդից: Անվտանգ մեթոդները, ինչպիսիք են ծառայության վերագործարկումը, սկավառակի տարածքի շտկումը և թույլտվությունների ուղղումները, տվյալների կորուստ չեն առաջացնում: Բարձր ռիսկի մեթոդները, ինչպիսիք են արտակարգ ռեժիմի վերականգնումը, գրանցամատյանի վերականգնումը կամ գրանցամատյանի ֆայլերի ջնջումը, կարող են հանգեցնել զգալի տվյալների կորստի: Միշտ նախ փորձեք անվտանգ մեթոդները:

Հարց. Կարո՞ղ եմ կանխել SQL տվյալների բազայի վերականգնման սպասվող խնդիրների առաջացումը:

Ա. Այո, խնդիրների մեծ մասը կարելի է կանխել պատշաճ սպասարկման միջոցով: Կատարեք կանոնավոր պահուստավորումներ, վերահսկեք սկավառակի տարածքը, պահպանեք բավարար պահեստային հզորություն, օգտագործեք UPS պաշտպանություն, կատարեք DBCC CHECKDB-ի ռուտինային գործողություններ և պահպանեք SQL Server թարմացված է վերջին սպասարկման փաթեթներով։

Հարց. Արդյո՞ք պետք է փորձեմ վերանորոգել արտադրական տվյալների բազաները աշխատանքային ժամերի ընթացքում:

Ա. Աշխատանքային ժամերին երբեք մի՛ փորձեք բարձր ռիսկի վերականգնման մեթոդներ արտադրական տվյալների բազաներում: Բարդ վերանորոգման համար պլանավորեք սպասարկման ժամանակահատվածներ: Այնուամենայնիվ, անվտանգ մեթոդները, ինչպիսիք են ծառայության վերագործարկումը կամ սկավառակի տարածքի վերականգնումը, կարող են անմիջապես փորձվել, եթե դրանք խոչընդոտում են կարևոր գործողությունները:

Հարց. Ե՞րբ պետք է վերականգնեմ պահուստային պատճենից՝ վերանորոգումներ փորձելու փոխարեն:

Ա. Վերականգնել պահուստային պատճենից, երբ բազմաթիվ վերականգնման փորձերը ձախողվում են, երբ գործ ունեք կարևոր արտադրական տվյալների հետ, որոնք չեն կարող հետագա վնասման ռիսկի ենթարկվել, երբ ունեք վերջերս պահուստային պատճեններ՝ տվյալների կորստի ընդունելի ժամանակահատվածներով, կամ երբ վերականգնման մեթոդները կարող են ավելի երկար տևել, քան վերականգնման գործողությունները:

Հարց. Ինչպե՞ս իմանամ, թե արդյոք իմ տվյալների բազայի ֆայլերը վնասված են, թե պարզապես անհասանելի են։

Ա. Ստուգել SQL Server Սխալների գրանցամատյաններ որոշակի սխալի հաղորդագրությունների համար: Ֆայլերի հասանելիության խնդիրները ցույց են տալիս «հնարավոր չէ գտնել ֆայլը» կամ թույլտվության սխալներ: Կոռուպցիան սովորաբար ցույց է տալիս ստուգիչ գումարի սխալներ, էջի մակարդակի սխալներ կամ համապատասխանության խախտումներ: Օգտագործեք DBCC CHECKDB-ը՝ տվյալների բազայի հասանելիության դեպքում կոռուպցիան վերջնականապես ստուգելու համար:

Հարց. Ո՞րն է տվյալների բազայի ֆայլերը պատճենելու ամենաապահով եղանակը՝ նախքան վերանորոգումները փորձելը:

Ա. Կանգնեք SQL Server ծառայությունն ամբողջությամբ, այնուհետև պատճենեք MDF և LDF ֆայլերը պահուստային պահուստային տեղ: Կամ օգտագործեք տվյալների բազայի պահուստային հրամաններ, եթե տվյալների բազան դեռևս հասանելի է: Երբեք մի պատճենեք ֆայլերը, մինչ SQL Server աշխատում է, քանի որ դա կարող է ստեղծել անհամապատասխան պատճեններ։

Հարց. Կարո՞ղ են SQL տվյալների բազայի վերականգնման չլուծված խնդիրները միաժամանակ ազդել մի քանի տվյալների բազաների վրա:

Ա. Այո, համակարգային մակարդակի խնդիրներ, ինչպիսիք են սկավառակի անբավարար տարածքը, ծառայության հաշվի խնդիրները, պահեստավորման խափանումները կամ SQL Server Կարգավորման սխալները կարող են ազդել բազմաթիվ տվյալների բազաների վրա: Միշտ ստուգեք, թե արդյոք այլ տվյալների բազաներում նմանատիպ խնդիրներ կան՝ համակարգային ավելի լայն խնդիրներ բացահայտելու համար:

Հարց. Որքա՞ն հաճախ պետք է փորձարկեմ տվյալների բազայի վերականգնման ընթացակարգերը։

Ա. Կարևոր տվյալների բազաների վերականգնման ընթացակարգերը ամսական փորձարկեք, կարևոր տվյալների բազաների համար՝ եռամսյակային: Ներառեք վերականգնման տարբեր սցենարների փորձարկում, ինչպիսիք են՝ ժամանակային կետում վերականգնումը, գրանցամատյանների հաջորդականության վերականգնումը և արտակարգ իրավիճակներում վերականգնման ընթացակարգերը: Արտակարգ իրավիճակների պլանավորման համար փաստաթղթավորեք և ժամանակացույց սահմանեք յուրաքանչյուր փորձարկման համար:

Հարց. Ե՞րբ պետք է կապվեմ Microsoft-ի աջակցության ծառայության հետ կամ վարձեմ մասնագիտական ​​օգնություն:

Ա. Դիմեք մասնագիտական ​​օգնության, երբ բազմաթիվ վերականգնման փորձերը ձախողվում են, գործ ունեք կարևորագույն տվյալների հետ՝ առանց պահուստային պատճենների, բախվում եք բազմաթիվ տվյալների բազաների բարդ վնասման, հանդիպում եք չփաստաթղթավորված սխալի հաղորդագրությունների կամ ժամանակային սահմանափակումների պատճառով անհրաժեշտ է երաշխավորված վերականգնման արդյունքներ:

Հարց. Արդյո՞ք երրորդ կողմի SQL վերականգնման գործիքները արժեն ներդրմանը:

Ա. Վերականգնման գործիքները արժեքավոր են, երբ ձեռքով կատարվող մեթոդները ձախողվում են, և պահուստային պատճեններ չկան: Գործիքների մեծ մասն առաջարկում է անվճար գնահատման տարբերակներ՝ գնելուց առաջ վերականգնելիությունը ստուգելու համար: Հաշվի առեք արժեքը և մասնագիտական ​​ծառայությունները, տվյալների արժեքը և հաջողության հավանականությունը: Գործիքները լավագույնս աշխատում են կառուցվածքային վնասման դեպքում, բայց կարող են չվերականգնել բոլոր տեսակի տվյալները:

Հարց. Ի՞նչ պետք է անեմ, եթե SQL տվյալների բազայի վերականգնման սպասվող դեպքերը կրկնվում են։

Ա. Կրկնվող խնդիրները վկայում են համակարգային խնդիրների մասին: Ստուգեք սարքավորումների խափանումները, անբավարար ռեսուրսները, պահեստավորման համակարգի խնդիրները կամ կարգավորման խնդիրները: Հետևեք Windows-ի իրադարձությունների գրանցամատյաններին, իրականացրեք համապարփակ մոնիթորինգ և դիտարկեք սարքավորումների արդիականացումը կամ ավելի հուսալի պահեստավորման համակարգերի անցնելը:

22. Եզրակացություն և հակիրճ հղումներ

SQL տվյալների բազայի վերականգնման սպասվող խնդիրները կարող են լուծվել այս 15 ապացուցված մեթոդների միջոցով՝ սկսած պարզ ծառայությունների վերագործարկումից մինչև բարդ արտակարգ վերանորոգումներ։

22.1 Արագ լուծումների ամփոփ աղյուսակ

Ուղղման մեթոդ Ռիսկի մակարդակ Տվյալների կորստի ռիսկ Լավագույնս օգտագործվում է
Վերսկսել SQL Server Ցածր Ոչ մեկը Ժամանակային խնդիրներ, ժամանակավոր արգելափակումներ
Ստուգեք սկավառակի տարածքը Ցածր Ոչ մեկը Տիեզերքի հետ կապված անհաջողություններ
Հետաձգված մեկնարկը Ցածր Ոչ մեկը Պահպանման ժամանակի հետ կապված խնդիրներ
Ուղղել թույլտվությունները Ցածր Ոչ մեկը Մուտքը մերժված սխալներ
Ճիշտ ֆայլերի ուղիներ Ցածր Ոչ մեկը Ուղիների փոփոխություններ, տեղաշարժեր
Անցանց/Առցանց Միջին Նվազագույն Պետական ​​անհամապատասխանություններ
Անջատել ավտոմատ փակումը Ցածր Ոչ մեկը Հաճախակի բացման/փակման ցիկլեր
Ջնջել գրանցամատյանի ֆայլը Բարձր Այո Կոռումպացված գրանցամատյաններ, մշակողների միջավայրեր
Անջատել/վերամիացնել Բարձր Այո Բացակայող կամ վնասված գրանցամատյաններ
Վերակառուցել գրանցամատյանները Բարձր Այո Բացակայող LDF ֆայլեր
Արտակարգ վերանորոգում DBCC CHECKDB-ի հետ Շատ բարձր Այո Լուրջ կոռուպցիա՝ վերջին միջոց
Ուղղել FILESTREAM-ը Միջին Ոչ մեկը FILESTREAM-ի կարգավորման խնդիրներ
Թարմացումներ SQL Server Միջին Ոչ մեկը Հայտնի տարբերակի սխալներ
Վերականգնել պահուստավորումից Ցածր Վերահսկվող Երբ վերանորոգման մեթոդները ձախողվում են
Վերականգնման գործիքներ Միջին Տատանվում Լուրջ կոռուպցիա, պահուստային պատճեններ չկան

22.2 Արտակարգ իրավիճակներին արձագանքման ստուգաթերթիկ

Առաջին 5 րոպեները՝

  1. Ստուգում SQL Server սխալների գրանցամատյաններ
  2. Ստուգեք տվյալների բազայի ֆայլերի մատչելիությունը
  3. Ստուգեք սկավառակի ազատ տարածքը
  4. Փորձեք վերագործարկել ծառայությունը
  5. Փաստաթղթի սխալի հաղորդագրություններ

Հաջորդ 15 րոպեները՝

  1. Փորձեք անցանց/առցանց, եթե ծառայության վերագործարկումը ձախողվել է
  2. Ստուգեք և շտկեք ակնհայտ թույլտվության խնդիրները
  3. Ստուգեք, որ ֆայլերի ուղիները ճիշտ են
  4. Վերանայեք Windows-ի իրադարձությունների գրանցամատյանները
  5. Գնահատեք պահուստային պատճենների առկայությունը

22.3 Լրացուցիչ ռեսուրսներ

Հիշե՛ք. Պատշաճ պահուստավորման, մոնիթորինգի և սպասարկման միջոցով կանխարգելումը միշտ ավելի լավ է, քան վերականգնումը: Այս ընթացակարգերի կանոնավոր փորձարկումը ոչ արտադրական միջավայրերում ապահովում է, որ դուք պատրաստ լինեք SQL տվյալների բազայի վերականգնման հետ կապված սպասվող խնդիրների առաջացմանը:


Հեղինակի մասին

Յուան Շենգ տվյալների բազայի ավագ ադմինիստրատոր (DBA) է՝ ավելի քան 10 տարվա փորձով։ SQL Server միջավայրերի և ձեռնարկությունների տվյալների բազայի կառավարման ոլորտում: Նա հաջողությամբ լուծել է տվյալների բազայի վերականգնման հարյուրավոր սցենարներ ֆինանսական ծառայությունների, առողջապահության և արտադրական կազմակերպություններում:

Յուանը մասնագիտանում է SQL Server տվյալների բազայի վերականգնում, բարձր մատչելիության լուծումներ և կատարողականի օպտիմալացում: Նրա լայնածավալ գործնական փորձը ներառում է բազմաբայթ ծավալով տվյալների բազաների կառավարում, միշտ հասանելի խմբերի ներդրում և կարևորագույն բիզնես համակարգերի համար ավտոմատացված պահուստավորման և վերականգնման ռազմավարությունների մշակում:

Իր տեխնիկական փորձագիտության և գործնական մոտեցման միջոցով Յուանը կենտրոնանում է համապարփակ ուղեցույցներ ստեղծելու վրա, որոնք կօգնեն տվյալների բազայի ադմինիստրատորներին և ՏՏ մասնագետներին լուծել բարդ խնդիրներ։ SQL Server արդյունավետորեն մարտահրավերներ է նետում։ Նա տեղեկացված է մնում վերջին նորություններից SQL Server թողարկումները և Microsoft-ի զարգացող տվյալների բազայի տեխնոլոգիաները, պարբերաբար փորձարկելով վերականգնման սցենարները՝ համոզվելու համար, որ նրա առաջարկությունները արտացոլում են իրական աշխարհի լավագույն փորձը։

Հարցեր ունեք SQL Server Վերականգնո՞ւմ, թե՞ անհրաժեշտ է տվյալների բազայի խնդիրների լուծման լրացուցիչ ուղեցույց: Յուանը ողջունում է ձեզ: արձագանքներ և առաջարկություններ այս տեխնիկական ռեսուրսները բարելավելու համար։

Կիսվել հիմա ՝