Համակարգային սպասարկում
Տվյալների բազայի պահեստային պատճենների ստեղծման կարգավորում
KBA-1024-QHSCZL
Խնդրի նկարագրություն

Microsoft SQL Server -ում հնարավոր է ավտոմատ պահեստային պատճենների մեխանիզմի կարգավորման երկու եղանակ, կախված Microsoft SQL Server-ի տարբերակից:

1. Տվյալների բազայի պահեստային պատճենների ստեղծման կարգավորում MS SQL Server Standard\Enterprise տարբերակների համար SQL Maintenance Plan-ի միջոցով
2. 
Տվյալների բազայի պահեստային պատճենների ստեղծման կարգավորում MS SQL Server Express տարբերակների համար Task Scheduler-ի միջոցով

Խնդրի լուծման քայլեր

Տվյալների բազայի պահեստային պատճենների ստեղծման կարգավորում MS SQL Server Standard\Enterprise տարբերակների համար SQL Maintenance Plan-ի միջոցով


1. Տվյալների բազայի պահեստային պատճենների կարգավորում լոկալ համակարգչի վրա

1.1 SQL Server Management Studio միջավայրի ձախ կողմում գտնվող ծառի վրա բացել Server_Name\Management\Maintenace Plans ճյուղը, սեղմել մկնիկի աջ ստեղնը և ընտրել Maintenance Plan Wizard:


1.2 Բացված Maintenance Plan Wizard պատուհանում սեղմել Next կոճակը:
Select Plan Properties պատուհանի Name դաշտում լրացնել MP-ի անվանում ` օրինակ DB_Local_Backup և սեղմել Change կոճակը:



1.3 Որպես յob-ի աշխատանքի հաճախականություն ցանկալի է նշել ամեն օր` ընտրելով համեմատաբար ոչ ծանրաբեռնված ժամ, օրինակ` daily at 1:00AM: Սեղմել OK և Next կոճակը:


1.4 Select Maintenance Tasks պատուհանում նշել Back Up Database (Full) և Maintenance Cleanup Task նշիչները, այնուհետև սեղմել Next կոճակը:

1.5 Define Back Up Database (Full) Task պատուհանի Database(s): մասում ընտրել բոլոր օգտագործվոր տվյալների բազաները (օրինակ՝ As4xMaster, asbank, asbank_Archive, asbank_OLAP, as_enterprise, as_enterprise_wages ), և սեղմեել OK կոճակը:  

1.6 Սեղմել Destination, Folder դաշտում մուտքագրել պահեստային պատճենների համար նախատեսված թղթապանակը և սեղմել Next կոճակը:

1.7 Define Maintenance Cleanup Task պատուհանի Folder մասում նշել այն թղթապանակը, որտեղ պահվում են պահեստային պատճենները, File extension մասում լրացնել bak, իսկ Delete files older than the following մասում նշել պահվող պատճենների հնությունը, հաշվի առնելով սկավառակի ազատ տեղը և բազաների չափը, օրինակ 4 Week(s)` 4 շաբաթ հնությամբ տվյալների պատճեներ պահելու համար: Սեղմեք Next կոճակը:

1.8 Select Report Options պատուհանում հանել Write a report to a text file նշիչը և սեղմել Next կոճակը:


1.9 Complete the Wizard պատուհանում սեղմել Finish:

1.10 Ստեղծած Maintenance Plan - ի աշխատանքը ստուգելու համար հարկավոր է կանգնել ստեղծված Maintenance Plan - ի վրա, մկնիկի աջ սեղմումով սեղմել Execute և համոզվել, որ պատճենների համար նախատեսված թղթապանակում, ստեղծվել է տվյալների բազայի պատճեն:

2. Տվյալների բազայի պահեստային պատճենների կարգավորում ցանցով

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

2.1 SQL սերվերի և պահեստային պատճենների համար նախատեսված սերվերի վրա ստեղծել լոկալ օգտագործող նույն անունով և նշանաբանով, կամ օգտագործել դոմեն օգտագործող: SQL սերվերի վրա տվյալ օգտագործողին տալ  ադմինիստրատորի իրավասություն։

2.2 SQL սերվերի վրա գտնվող SQL Server և SQL Server Agent սերվիսները աշխատացնել 2.1 կետում ստեղծված օգտագործողի տակից


 


  

2.3. Կատարել այս հոդվածի Տվյալների բազայի պահեստային պատճենների կարգավորում լոկալ համակարգչի վրա մասի բոլոր քայլերը, սակայն 1.6 և 1.7 կետերում որպես պահեստային պատճենների պահվող ճանապարհ նշել պահեստային պատճենների համար նախատեսված սերվերի shared արած թղթապանակը (օրինակ` \\backupserver\backup), որի վրա 2.1 կետում ստեղծված օգտագործողը ունի գրելու և կարդալու իրավասություն:


Տվյալների բազայի պահեստային պատճենների ստեղծման կարգավորում MS SQL Server Express տարբերակների համար

MS SQL Express Edition-ը իր մեջ չի ներառում job-երի ստեղծման մեխանիզմներ, սակայն տվյալների պատճենահանումը հնարավոր  է ավտամատացնել համապատասխան սկրիպտերի և Task Scheduler գործիքի օգնությամբ:


1. Հարկավոր է ներբեռնել տվյալների բազայի պահեստային պատճենների ստեղծման սկրիպտ SQL Express backup script և խմբագրել 

      Տվյալ սկրիպտը ստեղծում է բազայի պահեստային պատճեն նշված թղթապանակում և ջնջում հին պահեստային պատճենները

1.1 backupDB.sql ֆայլի փոփոխում`

SELECT @sql = 'BACKUP DATABASE '+@DBNAME+'TO DISK = ''C:\Backup\'+@DBNAME+'_db_' + @dateString +'.BAK'' WITH INIT'  տողում

C:\Backup\ ճանապարհի փոխարեն նշել տվյալների բազաների պատճենների համար նախատեսված թղթապանակի ճանապարհը :

1.2 databaseBackup.cmd ֆայլի փոփոխում`

sqlcmd -S sqlservername -E -i 'C:\Scripts\backupDB.sql'  տողում

sqlservername փոխարեն նշել sql սերվերի անունը  իսկ C:\Scripts\backupDB.sql փոխարեն` backupDB.sql ֆայլի ճանապարհը :

cscript C:\Scripts\deleteBAK.vbs  տողում

C:\Scripts\deleteBAK.vbs ճանապարհի փոխարեն նշել deleteBAK.vbs ֆայլի ճանապարհը :


1.3 deleteBAK.vbs ֆայլի փոփոխում`

sFolder = 'C:\Backup\ տողում

C:\Backup ճանապարհի փոխարեն նշել տվյալների բազաների պատճենների համար նախատեսված ճանապարհը: 

If DateDiff('d',itemFiles.DateCreated,Now()) >= 1 Then տողում

1  փոխարեն նշել պահվող պատճենների հնությունը, հաշվի առնելով սկավառակի ազատ տեղը և  բազաների չափը, օրինակ 5 օր հնությամբ տվյալների պատճեն պահելու համար նշել 5 :


2. Սկրիպի աշխատանքի ավտոմատացման համար հարկավոր է Task Scheduler-ում ստեղծել task` Armsoft_backup, որը կաշխատացնի 1-ին կետում ներբեռնած սկրիպտը

2.1 Task-ի աշխատանքի համար հարկավոր է ստեղծել օգտագործող (օր.` armsoft ), որն ունի գաղտնաբառ և տվյալ համակարգչի վրա ադմինիստատորի իրավասություն

2.2 Հարկավոր է 2.1 կետում ստեղծված օգտագործողին MS SQL-ում տալ պատճենահանման իրավասություն: Բացել SQL Server Management Studion, ընտրել  Security->Logins ճյուղը և սեղմելով New Login:

 

   
Login name
: դաշտում ընտրել 2.1 կետում ստեղծած օգտագործողին


User Mapping
բաժնում ընտրել անհրաժեշտ բազանորը և նշել db_backupoperator և սեղմել OK կոճակը


2.3.
Task-ը ստեղծելու համար հարկավոր է բացել Task Scheduler - ը, կանգնել Task Scheduler -ի վրա և մկնիկի աջ սեղմումով ընտրել Create Task


2.4
. Անհրաժեշտ է Name դաշտում լրացնել task-ի անունը (օր` Backup),  'When running the task, use the following user account:' դաշտը խբագրել և ընտրել 2.1 կետում ստեղծած օգտագործողին



 Նշել 'Run whether user is logged on or not' , 'Run with highest privileges' նշիչները, իսկ Configure for: դաշտում ընտրել տվյալ համակարգչի օպերացիոն համակարգը:

2.5. Triggers բաժնում սեղմել New կոճակը, բացված պատուհանում նշել task-ի աշխատանքի հաճախականությունը, ցանկալի է նշել ամեն օր` ընտրելով համեմատաբար ոչ ծանրաբեռնված ժամ, օրինակ` daily,  1:00AM Սեղմել Ok կոճակը

 

   
2.6. Action բաժնում սեղմել New կոճակը, բացված պատուհանի Program/script դաշտում ընտրել databaseBackup.cmd ֆայլը, որը ներբեռնել եք 1-ին կետում, փակել բոլոր պատուհանները` սեղմելով Ok կոճակը և հավաքել 2.1 կետում ստեղծած օգտագործողի գաղտնաբառը:


Օգտագործողի գաղտնաբառի փոփոխության դեպքում task-ը հարկավոր է խմբագրել և նշել նոր գաղտնաբառը 
 

 3. Ստեղծած task-ի աշխատանքը ստուգելու համար հարկավոր է կանգնել ստեղծված task-ի վրա, մկնիկի աջ սեղմումով սեղմել Run և համոզվել, որ պատճենների համար նախատեսված թղթապանակում, ստեղծվել է տվյալների բազայի պատճեն:




Լրացուցիչ մեկնաբանություն

© 2025 Հայկական Ծրագրեր