Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Hekuri
  • Rezervimi i serverit Ms sql. Opsione për rivendosjen e bazës së të dhënave MS SQL nga rezervimi

Rezervimi i serverit Ms sql. Opsione për rivendosjen e bazës së të dhënave MS SQL nga rezervimi

Përkundër faktit se në materialet tona të mëparshme ne kemi prekur tashmë çështjen e rezervimit të bazave të të dhënave të Microsoft SQL Server, përgjigja e lexuesit tregoi nevojën për të krijuar një material të plotë me një studim më të thellë të pjesës teorike. Në të vërtetë, artikujt e bërë me theks në udhëzimet praktike ju lejojnë të krijoni shpejt një kopje rezervë, por mos shpjegoni arsyet për zgjedhjen e një ose një tjetër cilësime. Ne do të përpiqemi ta rregullojmë këtë boshllëk.

Modelet e rikuperimit

Para se të filloni të konfiguroni një kopje rezervë, duhet të zgjidhni një model rikuperimi. Për zgjedhjen optimale, duhet të vlerësoni kërkesat e rikuperimit dhe ashpërsinë e humbjes së të dhënave, duke i krahasuar ato me kostot e përgjithshme të zbatimit të një modeli të caktuar.

Siç e dini, baza e të dhënave MS SQL përbëhet nga dy pjesë: vetë baza e të dhënave dhe regjistri i transaksioneve në të. Baza e të dhënave përmban të dhënat e përdoruesit dhe të shërbimit në kohën aktuale, regjistri i transaksioneve përfshin historinë e të gjitha ndryshimeve të bazës së të dhënave për një periudhë të caktuar, duke pasur regjistrin e transaksioneve, ne mund ta kthejmë gjendjen e bazës së të dhënave në çdo moment arbitrar në kohë.

Dy modele rikuperimi ofrohen për përdorim në mjediset e prodhimit: e thjeshtë dhe e plotë... Ekziston edhe një model me prerje jo e plotë, por rekomandohet vetëm si një shtesë në modelin e plotë për periudhën e operacioneve me shumicë në shkallë të gjerë, kur nuk ka nevojë të rivendosni bazën e të dhënave në një moment të caktuar kohor.

Model i thjeshtë parashikon kopje rezervë vetëm të bazës së të dhënave, prandaj, ne mund të rivendosim gjendjen e bazës së të dhënave vetëm në kohën e kopjimit, të gjitha ndryshimet midis krijimit të rezervës së fundit dhe dështimit do të humbasin. Në të njëjtën kohë, një skemë e thjeshtë ka një shpenzim të vogël: ju duhet vetëm të ruani kopje të bazës së të dhënave, regjistri i transaksioneve shkurtohet automatikisht dhe nuk rritet në madhësi. Gjithashtu, procesi i rikuperimit është më i thjeshti dhe nuk kërkon shumë kohë.

Modeli i plotë ju lejon të rivendosni bazën e të dhënave në çdo moment arbitrar në kohë, por kërkon, përveç kopjimit të bazës së të dhënave, të ruani kopje të regjistrit të transaksioneve për të gjithë periudhën për të cilën mund të kërkohet rikuperimi. Me punën aktive me bazën e të dhënave, madhësia e regjistrit të transaksioneve dhe, rrjedhimisht, madhësia e arkivave, mund të arrijë madhësi të mëdha. Procesi i rikuperimit është gjithashtu shumë më kompleks dhe kërkon kohë.

Kur zgjidhni një model rikuperimi, duhet të krahasoni koston e rikuperimit me koston e ruajtjes së kopjeve rezervë, dhe gjithashtu duhet të merrni parasysh disponueshmërinë dhe kualifikimet e personelit që do të kryejë rikuperimin. Rimëkëmbja me një model të plotë kërkon disa kualifikime dhe njohuri nga personeli, ndërsa me një skemë të thjeshtë mjafton të ndiqni udhëzimet.

Për bazat e të dhënave me një sasi të vogël informacioni shtesë, mund të jetë më fitimprurëse përdorimi i një modeli të thjeshtë me një frekuencë të lartë kopjimi, i cili do t'ju lejojë të rikuperoni shpejt dhe të vazhdoni të punoni duke futur manualisht të dhënat e humbura. Modeli i plotë duhet të përdoret kryesisht kur humbja e të dhënave është e papranueshme dhe rikuperimi i tij i mundshëm shoqërohet me kosto të konsiderueshme.

Llojet e kopjeve rezervë

Kopje e plotë e bazës së të dhënave- siç nënkupton edhe emri i tij, ai përfaqëson përmbajtjen e bazës së të dhënave dhe një pjesë të regjistrit aktiv të transaksioneve për kohën që është formuar rezerva (d.m.th. informacion për të gjitha transaksionet aktuale dhe jo të plota). Ju lejon të rivendosni plotësisht bazën e të dhënave në kohën e kopjimit.

Kopje diferenciale e bazës së të dhënave- një kopje e plotë ka një pengesë të rëndësishme, përmban të gjithë informacionin në bazën e të dhënave. Nëse keni nevojë të bëni kopje rezervë mjaft shpesh, atëherë menjëherë lind pyetja e përdorimit të kotë të hapësirës në disk, pasi pjesa më e madhe e ruajtjes do të pushtohet nga të njëjtat të dhëna. Për të eliminuar këtë pengesë, mund të përdorni kopje diferenciale të bazës së të dhënave, të cilat përmbajnë vetëm informacione që kanë ndryshuar që nga kopja e fundit e plotë.

Ju lutemi vini re se një kopje diferenciale është të dhëna nga hera e fundit i plotë kopjimi, d.m.th. çdo kopje diferenciale pasuese përmban të dhënat e asaj të mëparshme (por në të njëjtën kohë ato mund të ndryshohen) dhe madhësia e kopjes do të rritet vazhdimisht. Një rezervë e plotë dhe një rezervë diferenciale, zakonisht më e fundit, është e mjaftueshme për rikuperim. Numri i kopjeve diferenciale duhet të zgjidhet në bazë të rritjes së madhësisë së tyre, sapo madhësia e kopjes diferenciale të jetë e barabartë me madhësinë e gjysmës së asaj të plotë, ka kuptim të bëhet një kopje e re e plotë.

Rezervimi i regjistrit të transaksioneve- zbatohet vetëm për modelin e rikuperimit të plotë dhe përmban një kopje të regjistrit të transaksioneve nga koha kur u krijua kopja e mëparshme.

Është e rëndësishme të mbani mend pikën e mëposhtme - kopjet e regjistrit të transaksioneve nuk janë në asnjë mënyrë të lidhura me kopjet e bazës së të dhënave dhe nuk përmbajnë informacion nga kopjet e mëparshme, prandaj, për të rivendosur bazën e të dhënave, duhet të keni një zinxhir të vazhdueshëm kopjesh për periudhën gjatë të cilat dëshironi të jeni në gjendje të ktheni mbrapsht gjendjen e bazës së të dhënave. Në këtë rast, momenti i kopjimit të fundit të suksesshëm duhet të jetë brenda kësaj periudhe.

Le të shohim figurën e mësipërme, nëse kopja e parë e skedarit të regjistrit humbet, atëherë mund të rivendosni gjendjen e bazës së të dhënave vetëm në kohën e kopjimit të plotë, i cili do të jetë i ngjashëm me një model të thjeshtë rikuperimi, mund të rivendosni gjendjen e bazës së të dhënave në çdo moment në kohë vetëm pas kopjes tjetër diferenciale (ose të plotë), me kusht që zinxhiri i kopjeve të regjistrit duke filluar nga ai që i paraprin kopjimit të bazës dhe më tej do të jetë i vazhdueshëm (në figurë - nga e treta e tutje ).

Regjistri i transaksioneve

Për të kuptuar proceset e rikuperimit dhe qëllimin e llojeve të ndryshme të kopjeve rezervë, duhet të shikoni më nga afër strukturën dhe funksionimin e regjistrit të transaksioneve. Një transaksion është operacioni më i vogël i mundshëm logjik që ka kuptim dhe mund të kryhet vetëm në tërësinë e tij. Kjo qasje siguron integritetin dhe konsistencën e të dhënave në të gjitha situatat, pasi gjendja e ndërmjetme e operacionit është e papranueshme. Regjistri i transaksioneve është krijuar për të kontrolluar çdo ndryshim në bazën e të dhënave.

Kur kryeni ndonjë operacion, një rekord për fillimin e një transaksioni shtohet në regjistrin e transaksioneve, çdo regjistrimi i caktohet një numër unik (LSN) nga një sekuencë e pathyeshme, sa herë që të dhënat ndryshojnë, një rekord përkatës futet në regjistër dhe më pas operacioni ka përfunduar, në regjistër shfaqet një shenjë e mbylljes (kommitimit) të transaksionit.

Në çdo nisje, sistemi analizon regjistrin e transaksioneve dhe kthen të gjitha transaksionet e pakomponuara; në të njëjtën kohë, ndodh kalimi përpara i ndryshimeve që janë kryer në regjistër, por nuk janë shkruar në disk. Kjo bën të mundur përdorimin e caching dhe shkrimet dembel pa frikë nga integriteti i të dhënave edhe në mungesë të sistemeve të energjisë rezervë.

Pjesa e regjistrit që përmban transaksione aktive dhe përdoret për rikuperimin e të dhënave quhet pjesa aktive e regjistrit. Fillon me një numër të quajtur Numri Minimum i Rimëkëmbjes (MinLSN).

Në rastin më të thjeshtë, MinLSN është numri rekord i transaksionit të parë në pritje. Nëse shikoni figurën e mësipërme, atëherë duke hapur një transaksion blu do të marrim MinLSN të barabartë me 321, pasi të regjistrohet në rekordin 324, numri MinLSN do të ndryshojë në 323, që do të korrespondojë me numrin e gjelbër, jo ende. kryer, transaksion.

Në praktikë, gjithçka është pak më e ndërlikuar, për shembull, të dhënat e një transaksioni blu të mbyllur mund të mos jenë ende të shpërndara në disk dhe lëvizja e MinLSN në 323 do ta bëjë të pamundur rikuperimin e këtij operacioni. Për të shmangur një situatë të tillë, u prezantua koncepti i një postblloku. Një pikë kontrolli krijohet automatikisht kur plotësohen kushtet e mëposhtme:

  • Kur ekzekutohet shprehimisht deklarata CHECKPOINT. Pika e kontrollit aktivizohet në bazën e të dhënave aktuale të lidhjes.
  • Kur kryeni një operacion të regjistruar minimalisht në një bazë të dhënash, të tilla si kryerja e një operacioni të kopjimit me shumicë në një bazë të dhënash që mbulohet nga një model rikuperimi i regjistruar me shumicë.
  • Kur shtoni ose hiqni skedarët e bazës së të dhënave duke përdorur deklaratën ALTER DATABASE.
  • Kur ndaloni shembullin e SQL Server duke përdorur deklaratën SHUTDOWN, ose kur ndaloni shërbimin SQL Server (MSSQLSERVER). Në secilin rast, një pikë kontrolli do të krijohet për çdo bazë të dhënash në shembullin e SQL Server.
  • Nëse shembulli i SQL Server krijon periodikisht pika kontrolli automatike në çdo bazë të dhënash për të shkurtuar kohën e rikuperimit të bazës së të dhënave.
  • Kur bëni kopje rezervë të bazës së të dhënave.
  • Kur kryeni një veprim që kërkon mbylljen e bazës së të dhënave. Shembujt përfshijnë vendosjen e AUTO_CLOSE në ON dhe mbylljen e lidhjes së fundit të përdoruesit me bazën e të dhënave, ose ndryshimin e një parametri bazë të dhënash që kërkon rinisjen e bazës së të dhënave.

Varësisht se cila ngjarje ka ndodhur më herët, MinLSN-së do t'i caktohet vlera ose numri i regjistrimit të pikës së kontrollit ose fillimi i transaksionit më të vjetër në pritje.

Shkurtimi i regjistrit të transaksioneve

Regjistri i transaksioneve, si çdo regjistër, kërkon pastrim periodik të të dhënave të vjetruara, përndryshe do të rritet dhe do të zërë të gjithë hapësirën e disponueshme. Duke marrë parasysh që kur punoni në mënyrë aktive me një bazë të dhënash, madhësia e regjistrit të transaksioneve mund të tejkalojë ndjeshëm madhësinë e bazës së të dhënave, kjo çështje është e rëndësishme për shumë administratorë.

Fizikisht, skedari i regjistrit të transaksioneve është një kontejner për regjistrat virtualë, të cilët mbushen në mënyrë sekuenciale ndërsa regjistri rritet. Regjistri logjik që përmban hyrjen MinLSN është fillimi i regjistrit aktiv, regjistrat logjikë që i paraprijnë janë joaktive dhe nuk kërkohen për rikuperimin automatik të bazës së të dhënave.

Nëse zgjidhet modeli i thjeshtë i rikuperimit, atëherë kur regjistrat logjik arrijnë madhësinë e barabartë me 70% të skedarit fizik, pjesa joaktive e regjistrit pastrohet automatikisht, e ashtuquajtura. cungim. Megjithatë, kjo nuk zvogëlon skedarin e regjistrit fizik, vetëm regjistrat logjik janë të cunguar dhe mund të ripërdoren pas këtij operacioni.

Nëse numri i transaksioneve është i madh dhe nuk ka regjistra logjikë joaktivë deri në momentin kur arrihet 70% e madhësisë së skedarit fizik, atëherë madhësia e skedarit fizik do të rritet.

Kështu, skedari i regjistrit të transaksioneve me një model të thjeshtë rikuperimi do të rritet sipas aktivitetit të punës me bazën e të dhënave derisa të mund të përmbajë në mënyrë të besueshme të gjithë pjesën aktive të regjistrit. Pas së cilës rritja e saj do të ndalet.

Me një model të plotë, pjesa joaktive e regjistrit nuk mund të shkurtohet derisa të rezervohet plotësisht. Shkurtimi i regjistrave kryhet me kusht që regjistri i transaksioneve të jetë rezervuar dhe më pas të jetë krijuar një pikë kontrolli.

Rezervimet e regjistrit të transaksioneve të konfiguruara gabimisht sipas modelit të plotë mund të çojnë në rritje të pakontrolluar të skedarit të regjistrit, gjë që shpesh është një problem për administratorët e papërvojë. Këshilla për shkurtimin manual të regjistrit të transaksioneve janë gjithashtu të zakonshme. Me një model rikuperimi të plotë, kjo nuk duhet të bëhet në mënyrë kategorike, pasi duke vepruar kështu do të shkelni integritetin e zinxhirit të kopjeve të regjistrave dhe do të jeni në gjendje të rivendosni bazën e të dhënave vetëm në momentin e krijimit të kopjeve, të cilat do të korrespondojnë me model i thjeshtë.

Në këtë rast, është koha të kujtojmë atë që folëm në fillim të artikullit, nëse kostot e modelit të plotë tejkalojnë kostot e restaurimit, duhet t'i jepni përparësi modelit të thjeshtë.

Modeli i thjeshtë i rikuperimit

Tani, pasi të keni marrë njohuritë minimale të kërkuara, mund të kaloni në një ekzaminim më të detajuar të modeleve të rikuperimit. Le të fillojmë me një të thjeshtë. Le të themi se në momentin e përplasjes kemi një kopje të plotë dhe dy diferenciale:

Rezervimi kryhej një herë në ditë dhe kopja e fundit krijohej natën nga data 21 në 22. Përplasja ndodh në mbrëmjen e datës 22 përpara se të krijohet kopja tjetër. Në këtë rast, do të na duhet të rivendosim në mënyrë sekuenciale kopjet e plota dhe të fundit diferenciale, ndërsa të dhënat për ditën e fundit të punës do të humbasin. Nëse, për ndonjë arsye, kopja nga data 21 gjithashtu rezulton e dëmtuar, atëherë ne mund të rivendosim kopjen e mëparshme, duke humbur një ditë tjetër pune, në të njëjtën kohë, dëmtimi i kopjes për datën 20 nuk do të ndërhyjë në rikuperimin me sukses të dhënat në mbrëmjen e datës 21, nëse disponohet një kopje përkatëse.

Modeli i rikuperimit të plotë

Le të shqyrtojmë një situatë të ngjashme, por duke përdorur modelin e rikuperimit të plotë. Ne gjithashtu bëjmë kopje rezervë në baza ditore, sipas parimit të plotë + diferencial, dhe regjistri i transaksioneve kopjohet disa herë në ditë.

Procesi i rimëkëmbjes në këtë rast do të jetë më i vështirë. Para së gjithash, do t'ju duhet të krijoni manualisht një kopje rezervë të pjesës përfundimtare të regjistrit (treguar me të kuqe), d.m.th. pjesë e regjistrit nga koha e kopjimit të fundit deri në aksident.

Nëse kjo nuk është bërë, atëherë baza e të dhënave mund të rikthehet vetëm në gjendjen në kohën e kopjes së fundit të regjistrit të transaksioneve.

Në të njëjtën kohë, dëmtimi i skedarit të kopjes së log për një ditë më parë nuk do të na pengojë të rivendosim gjendjen aktuale të bazës së të dhënave, por do të na kufizojë në momentin e krijimit të kopjes së fundit, d.m.th. ditët aktuale.

Më pas restaurojmë në mënyrë sekuenciale kopjen e plotë dhe diferenciale dhe zinxhirin e kopjeve të regjistrit të krijuar pas kopjimit të fundit rezervë, të fundit rivendosim një kopje të fragmentit përfundimtar të regjistrit, i cili do të na japë mundësinë të rivendosim bazën e të dhënave pikërisht në kohën e fatkeqësi ose një fatkeqësi që i ka paraprirë.

Nëse kopja e fundit diferenciale është dëmtuar, atëherë në rastin e një modeli të thjeshtë kjo do të çojë në humbjen e një dite pune më shumë, modeli i plotë ju lejon të rivendosni kopjen e parafundit, pas së cilës do të jetë e nevojshme të rivendosni të gjithë zinxhirin të kopjeve të regjistrit të transaksioneve nga momenti i kopjes së parafundit deri në dështim. Thellësia e rikuperimit varet vetëm nga thellësia e zinxhirit të vazhdueshëm të trungjeve.

Nga ana tjetër, nëse një nga kopjet e regjistrit të transaksioneve është dëmtuar, le të themi, e parafundit, atëherë ne mund t'i rikuperojmë të dhënat vetëm në momentin e kopjimit të fundit + periudhën në zinxhirin e padëmtuar të kopjeve të regjistrit. Për shembull, nëse regjistrat janë bërë në orën 12, 14 dhe 16 dhe regjistri i krijuar në orën 14 është i dëmtuar, atëherë duke pasur një kopje ditore mund të rivendosim bazën e të dhënave deri në fund të zinxhirit të vazhdueshëm, d.m.th. deri në orën 12.

  • Etiketa:

Ju lutemi aktivizoni JavaScript për të parë

Ne vazhdojmë të flasim për kopje rezervë dhe sot do të mësojmë krijoni një arkiv të bazës së të dhënave MS SQL Server 2008... Ne do të shqyrtojmë gjithçka si zakonisht me shembuj duke përdorur një ndërfaqe grafike dhe duke përdorur një pyetje SQL, dhe gjithashtu do të vendosim një automatik krijimi i një kopje rezervë duke përdorur një skedar grumbull.

Ne nuk do të kthehemi në çështjen e rëndësisë së kopjimit të bazës së të dhënave, pasi ne e kemi ngritur tashmë këtë temë më shumë se një herë, për shembull, në materialet:

Dhe në artikullin e fundit thashë se do të shqyrtojmë mundësinë e krijimit të një arkivi në MS SQL Server 2008 DBMS, kështu që tani do të bëjmë pikërisht këtë.

Dhe meqenëse tashmë ka pasur shumë teori, le të shkojmë drejtpërdrejt në praktikë, domethënë, të krijojmë një bazë të dhënash rezervë.

Shënim! Siç mund ta shihni nga titulli i artikullit, ne do të krijojmë arkivin në DBMS të Microsoft SQL 2008 duke përdorur Management Studio. Serveri ndodhet në vend. Windows 7 OS.

Si të krijoni një arkiv të një baze të dhënash të serverit SQL

Le të vendosim që do të bëjmë një arkiv të një baze testimi të quajtur "test". Që nga fillimi përmes ndërfaqes grafike, dhe gjatë procesit, ne do të shkruajmë një skript në mënyrë që në të ardhmen thjesht ta ekzekutoni dhe të mos shpërqendroheni më duke futur të gjitha llojet e parametrave.

Hapni Studion e Menaxhimit, hapni " Baza e të dhënave", Zgjidhni bazën e kërkuar, klikoni me të djathtën mbi të, zgjidhni Detyrat-> Krijo kopje rezervë

Do të shihni një dritare " Rezervimi i bazës së të dhënave»Ku mund të vendosni parametrat, arkivimin. Unë thjesht dhashë një emër " Rezervimi i të dhënave", Dhe gjithashtu ndryshoi emrin e arkivit dhe shtegun, pasi si parazgjedhje do të krijohet në dosjen Program Files, për shembull, rruga ime e paracaktuar ishte

C: \ Skedarët e programit \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Backup \

Për shembull, e ndryshova në C: \ temp \ dhe i vura emrin arkivit test_arh.bak

Gjithashtu, nëse shkoni te artikulli " Parametrat»Pastaj mund të vendosni cilësimin për të mbishkruar të gjitha grupet e të dhënave, tani unë do të shpjegoj se çfarë është. Nëse lini gjithçka ashtu siç është, d.m.th. shtoni në një grup ekzistues të dhënash, atëherë do të keni një skedar me një kopje rezervë, por me disa kopje të grupeve të të dhënave, d.m.th. kur rivendosni, thjesht zgjidhni grupin që ju nevojitet. Dhe nëse vendosni " Mbishkruani të gjitha grupet e të dhënave rezervë ekzistuese»Atëherë grupi do të jetë gjithmonë një, atëherë në këtë rast do t'ju duhet të krijoni arkiva (le të themi çdo ditë) me emra të ndryshëm. Vendosa të mbishkruaj, sepse le të themi, në të ardhmen, kam në plan të krijoj arkiva për çdo ditë me datën në emër të këtyre arkivave, në mënyrë që nëse është e nevojshme, të mund ta kopjoj shpejt kopjen rezervë që më nevojitet për një datë specifike në ndonjë. vend.

Dhe nga rruga, në këtë pikë, pasi të keni futur të gjithë parametrat, mund të krijoni një skript në mënyrë që ta regjistroni dhe ta përdorni në të ardhmen. Për ta bërë këtë, vetëm në krye, klikoni " Skenar»

Dhe si rezultat i këtij veprimi, do të hapet një dritare kërkese, në të cilën do të ketë kodin e këtij skripti. Do t'i kthehemi pak më vonë, por tani për tani, klikoni "OK" dhe pasi të përfundojë operacioni, do të shfaqet një dritare në të cilën do të tregohet rezultati i kopjimit, nëse gjithçka është në rregull, do të shfaqet mesazhi i mëposhtëm

Krijo një arkiv të bazës së të dhënave të serverit SQL përmes një pyetjeje

Nëse keni bërë gjithçka siç tregohet më lart (d.m.th., keni klikuar "Script"), atëherë keni hapur një dritare kërkese, e cila në fakt përmban kërkesën për krijimin e një arkivi vetë, por ne do ta ndryshojmë atë pak, pasi thashë se jemi duke planifikuar ta lëshojë atë çdo ditë, kështu që emri të jetë i përshtatshëm, ne do të shkruajmë këtë deklaratë SQL.

Deklaroni @path si varchar (200) set @path = N "C: \ temp \ test_arh_" + CONVERT (varchar (10), getdate (), 104) + ".bak" BAZA REZERVU E TË DHËNAVE NË DISK = @rruga ME NOFORMAT, INIT, EMRI = N "Testi i bazës së të dhënave", SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

Dhe tani nëse e ekzekutojmë, atëherë do të krijojmë një kopje rezervë të bazës së të dhënave të quajtur test_arh_ Data aktuale.bak

Krijimi automatik i kopjeve rezervë në serverin SQL

Për këto qëllime në MS SQL 2008 ekziston një veçori e veçantë e quajtur " Planet e shërbimit»Aty ku mund të vendosni një plan për krijimin e një kopje rezervë të bazave të të dhënave, por unë sugjeroj të përdorni një skedar bat për këto qëllime për ta konfiguruar atë në planifikues dhe në mënyrë që të fillojë çdo ditë dhe të bëjë një kopje rezervë të bazës së të dhënave. Për ta bërë këtë, kopjoni deklaratën SQL që diskutuam më sipër dhe ngjisni atë në notepad (unë rekomandoj Notepad ++) më pas ruajeni me shtesën .sql ato. ky skript do të ekzekutohet në MS Sql 2008. Më pas do të na duhet të shkruajmë një skedar batch në mënyrë që ai të lidhet me serverin SQL dhe të ekzekutojë skriptin tonë. Ne gjithashtu shkruajmë në një bllok shënimesh:

SET cur_date =% data: ~ 6,4 %% data: ~ 3,2 %% data: ~ 0,2% osql -S localhost -i C: \ temp \ test.sql -o C: \ temp \% cur_date % _log_sql.log –E

ku, krijova variablin cur_date për të ruajtur datën aktuale në të, më pas lidhem me serverin lokal përmes programit osql i cili përdor ODBC dhe ekzekuton skriptin tonë (Unë e quajta test.sql), dhe gjithashtu shkruan një regjistër ku saktësisht na duhej ndryshorja jonë, kjo është e gjitha, ne e ruajmë atë me shtesën .bat, ne krijojmë një detyrë në planifikues dhe mund të themi se harrojmë procesin e arkivimit të bazës së të dhënave, mirë, ne kontrollojmë vetëm periodikisht nëse arkivi është krijuar apo jo.

Për bazat, kjo është mjaft e mjaftueshme, tani ju e dini se si mund të bëni kopje rezervë të bazave të të dhënave në një server SQL 2008, në artikullin tjetër do të shikojmë se si mund të rivendosni një bazë të dhënash në MS Sql 2008. Tani për tani, kjo është ajo! Paç fat!

Dhe gjithashtu: kopje rezervë SQL, kopje rezervë 1C.

Serveri 1C përmban të dhëna në një bazë të dhënash të vendosur në një server SQL. Sot po shqyrtojmë MS SQL 2005/2008.

Për të parandaluar humbjen e të dhënave në rast të djegies së diskut të serverit ose situatave të tjera të forcës madhore, është e nevojshme të bëni kopje rezervë që në fillim.

Sigurisht, askush nuk dëshiron të bëjë Backup SQL të bazës së të dhënave 1C me stilolapsa çdo ditë. Ka mjete automatike për këtë. Le të njihemi me ta.

Konfigurimi i SQL rezervë

Konfigurimi i SQL rezervë për një bazë të dhënash 1C nuk është i ndryshëm nga konfigurimi i një kopje rezervë për çdo bazë të dhënash tjetër.

Nisni MS SQL Management Studio për ta konfiguruar. Ky program është në grupin e programit MS SQL.

Shtimi i një detyre rezervë për bazën e të dhënave SQL 1C

Detyrat automatike të rezervimit për bazat e të dhënave SQL ndodhen në degën e planeve të menaxhimit / mirëmbajtjes.

Për të shtuar një detyrë të re rezervë, kliko me të djathtën në grupin e planeve të mirëmbajtjes dhe zgjidhni Plani i ri i mirëmbajtjes.

Futni një emër për detyrën. Emri ka rëndësi vetëm për ju. Është më mirë të përdorni karaktere angleze për çdo rast.

Vendosja e një detyre rezervë për bazën e të dhënave SQL 1C

Redaktori i kërkimit do të hapet. Ju lutemi vini re se punët mund të kryejnë operacione të ndryshme me bazën e të dhënave, jo vetëm kopje rezervë.

Lista e opsioneve për operacionet shfaqet në fund të majtë. Klikoni dy herë mbi Detyrën e Rezervimit të bazës së të Dhënave ose thjesht tërhiqeni djathtas.

Kushtojini vëmendje shigjetës. Mund të tërhiqni disa operacione të ndryshme ose identike dhe t'i lidhni me shigjeta. Më pas do të kryhen disa detyra në të njëjtën kohë në sekuencën që keni përcaktuar.

Në dritaren e cilësimeve, zgjidhni bazat e të dhënave të kërkuara 1C SQL (mundeni disa ose një në të njëjtën kohë).

Zgjidhni vendndodhjen për të ruajtur kopjen rezervë të bazës së të dhënave 1C SQL. Ju duhet të zgjidhni një hard disk fizikisht të ndryshëm. Organizativisht, mund të shënoni kutinë "Krijo nëndosje".

Tani le të vendosim planin rezervë. Orari rezervë u shtua si parazgjedhje në vetvete. Por mund të shtoni disa orare (për shembull, një është ditor, një javor, etj.). Klikoni butonin për të konfiguruar orarin e rezervimit.

Pamja e ekranit tregon një shembull të rezervimit ditor SQL të bazës së të dhënave 1C për 3 netë.

Për ta bërë mirë të kuptueshëm orarin rezervë në listë, mund ta ndryshoni atë.

Ruajtja e një detyre rezervë për bazën e të dhënave SQL 1C

Kliko djeg. Detyra do të shfaqet në të majtë në listë.

Është e rëndësishme! Kontrolloni që puna e bazës së të dhënave SQL rezervë është krijuar saktë. Për ta bërë këtë, klikoni me të djathtën në punë dhe zgjidhni Ekzekutoni.

Si rezultat, një skedar rezervë duhet të shfaqet në rrugën e specifikuar. Nëse diçka nuk është në rregull, fshini detyrën (Del) dhe filloni nga e para.

Ky artikull do t'ju tregojë se si të bëni manualisht një kopje rezervë të plotë të bazës së të dhënave duke përdorur Microsoft SQL Server Management Studio.

1. Krijimi i një kopje rezervë

Në fakt është shumë e thjeshtë. Ne lançojmë snap-in " » (« Filloni» — « Të gjitha programet» — « SQL Server 2008 R2» — « Microsoft SQL Server Management Studio») Dhe futni të dhënat për autorizim.

Pas kësaj, në Object Explorer, hapni skedën " Baza e të dhënave“Dhe kliko me të djathtën në bazën e të dhënave për të cilën dëshiron të bësh një kopje rezervë. Në menynë e kontekstit që shfaqet, zgjidhni " Detyrat» ( Detyrat) — « Krijo një kopje rezervë» ( Rezervo...) .

Dritare " Rezervimi i bazës së të dhënave» ( Rezervoni bazën e të dhënave). Le të sigurohemi që ia vlen" Plot» ( Plot), nëse është e nevojshme, vendosni një emër dhe përshkrim, dhe gjithashtu tregoni qëllimin e kopjes rezervë. Si parazgjedhje, zgjidhet shtegu në hard diskun e kompjuterit për në dosjen Backup të vendndodhjes kryesore të bazave të të dhënave të serverit SQL. Për të ndryshuar vendndodhjen e kopjes, së pari shtypni " Fshije» ( Hiq) për të hequr detyrën ekzistuese dhe më pas " Shtoni» ( Shtoni…) Për të shtuar një të re.

Këtu vendosim vendndodhjen dhe emrin e skedarit rezervë dhe klikojmë " Ne rregull". Ju mund të specifikoni disa destinacione të tilla. Në këtë rast, rezervimi do të ndahet në pjesë të barabarta, secila pjesë në skedarin e specifikuar.

Kur të gjitha cilësimet janë vendosur, klikoni " Ne rregull"Dhe prisni që detyra të përfundojë. Nëse gjithçka është bërë si duhet, do të gjejmë skedarin rezervë të bazës së të dhënave SQL në drejtorinë e specifikuar.

2. Rivendosja e një baze të dhënash nga një kopje rezervë

Rimëkëmbja ndodh në të njëjtën mënyrë. V" Microsoft SQL Server Management Studio»Zgjidhni një bazë nga i cili është bërë rezervimi, klikoni mbi të me butonin e djathtë të miut, në menunë e kontekstit, zgjidhni " Detyrat» ( Detyrat) — « Rivendos» ( Rivendos) — « Baza e të dhënave…» ( Baza e të dhënave ...).

Dritare " Rimëkëmbja e bazës së të dhënave» ( Rivendosja e bazës së të dhënave). Këtu, si burim, ne tregojmë " Nga pajisja» ( Nga pajisja) dhe zgjidhni skedarin rezervë (i krijuar në hapin 1).

Le të vendosim flamurin” Rivendos» ( Rivendos) përballë kopjes rezervë të zgjedhur. Nëse është e nevojshme, në skedën " Parametrat» ( Opsione), mund të specifikoni opsione shtesë rikuperimi, kuptimi i të cilave mund të lexohet.

Pasi të bëhen të gjitha cilësimet, klikoni " Ne rregull"Dhe prisni për mesazhin për rikuperimin e suksesshëm të bazës së të dhënave.

3. Rivendosja e një kopje rezervë në një bazë të dhënash tjetër (kopjimi i të dhënave)

Nëse keni nevojë të ngarkoni të dhëna në bazën e të dhënave, i ndryshëm nga ai nga i cili është bërë rezervimi, atëherë kur ngarkoni, përveç veprimeve të përshkruara në paragrafin 2, është e nevojshme në skedën " Parametrat"(Opsionet) vendosni emrat e skedarëve të kësaj baze të dhënash dhe vendosni flamurin" Mbishkruani bazën e të dhënave ekzistuese"(ME ZËVENDËSUAR).

A ju ndihmoi ky artikull?

Le të shqyrtojmë një situatë të padëshiruar. Gjegjësisht: për disa arsye, baza e të dhënave është jashtë funksionit. Çfarë kemi ne? Një kopje e plotë, një kopje diferenciale nga dje, por sot ka edhe të dhëna, a ishte vërtet e nevojshme të bëhej një kopje diferenciale çdo orë? - Jo! ka Regjistri i transaksioneve.
Regjistri i transaksioneve - Një regjistër që regjistron të gjitha transaksionet dhe të gjitha ndryshimet e bazës së të dhënave të kryera nga secili transaksion. ato. çdo veprim me bazën e të dhënave regjistrohet hap pas hapi. Çdo regjistrim shënohet nga DBMS për përfundimin e transaksionit, i përfunduar ose jo. Me ndihmën e tij, ju mund të rivendosni gjendjen e bazës së të dhënave jo vetëm pas një dështimi, por edhe në rast të veprimeve të paparashikuara me të dhënat. Kthejeni prapa deri në një kohë të caktuar. Ashtu si me bazën e të dhënave, regjistri i transaksioneve duhet të rezervohet, i plotë, diferencial, në rritje. Për të rivendosur një pjesë të regjistrit të transaksioneve pas një dështimi në intervalin midis kopjeve rezervë, duhet të bëni kopje rezervë të fragmentit përfundimtar të regjistrit, i cili, në fakt, është pika e finalizimit të kopjes rezervë. Ekzekutuar pas një dështimi, si një pikë numërimi.
Pra, për të rivendosur bazën e të dhënave pas një dështimi, na duhet një kopje aktuale e plotë e bazës së të dhënave, një kopje diferenciale e bazës së të dhënave dhe një kopje e regjistrit të transaksioneve.

Ekzistojnë 3 modele rikuperimi për vetë bazën e të dhënave - të thjeshta, të plota dhe të regjistruara në masë. Merrni parasysh:

  1. Model i thjeshtë - përdoret vetëm tepricë e plotë. Asnjë ndryshim. kopje rezervë si dhe kopje rezervë të regjistrit të transaksioneve. Kopjet e plota duhet të krijohen sa më shpesh që të jetë e mundur. E rëndësishme për bazat e të dhënave vetëm për lexim.
  2. Modeli i rikuperimit të plotë është modeli më i përdorur në të cilin janë të disponueshme të gjitha funksionet e rezervimit dhe rikuperimit të të dhënave. Mbështet rikuperimin e faqeve individuale të të dhënave. Ndodh regjistrimi i plotë i transaksioneve dhe regjistri i transaksioneve ruhet.
  3. Modeli i regjistruar me shumicë - Projektuar për të plotësuar modelin e rikuperimit të plotë të plotë. Shumica e operacioneve në masë nuk mbështesin regjistrimin, prandaj, nuk mbështet rikuperimin e bazës së të dhënave në një moment të caktuar kohor.

Le të shqyrtojmë zinxhirin rezervë më të rëndësishëm: Rezervimi i plotë - një herë në javë, Rezervimi diferencial - një herë në ditë, Rezervimi i regjistrit të transaksioneve - një herë në orë.
Ekzistojnë disa opsione për krijimin e kopjeve rezervë:

  • Duke përdorur programuesin e integruar të detyrave MS SQL
  • Duke përdorur Transact-SQL
  • Duke përdorur sqlcmd dhe OS Task Scheduler
  • Me dorë (gjë që nuk na përshtatet, sepse administratori i vërtetë duhet vazhdimisht të ngatërrohet)

Le ta konsiderojmë opsionin e parë si më të përdorshëm. Për këtë, përdoren Windows Server 2008 R2 Enterprise dhe MS SQL Server 2008 Eng.

Pra, le të themi se kemi një bazë të dhënash TECH:

Kalimi te mjeti i krijimit Joba:

Tre butona të djathta të miut dhe thirrni Master në Job:
Ne zgjedhim kutinë e zgjedhjes "Ekzekutimi i veçantë i secilës detyrë", në fund të fundit, ne kryejmë vetëm një veprim

Një mjeshtër pa çallmë, por gjëja kryesore nuk është në madhësinë e çallmës)) Zgjidhni llojin e dëshirës, ​​në rastin tonë - rezervim i plotë:

Mjeshtri Job, siç doli, është pak çifut, kështu që ai pyet përsëri:

"Ia vlen të zgjidhni parametra shtesë, në lidhje me paddawan të rinj!":
këtu zgjedhim bazën e të dhënave, periudhën e ruajtjes së kopjes rezervë, adresën (kasetë ose disk), rrugën e ruajtjes dhe, më e rëndësishmja, programuesin e detyrave!

"Mos harroni për bazën e të dhënave kur zgjidhni tuajën. Përqendroni fuqinë tuaj dhe zgjidhni një bazë të dhënash":

"Shumë shpejt jeni në nxitim për të krijuar një detyrë, shtypni butonin që është më poshtë me emrin Shedule - Define."
Sobsno, programuesi i detyrave, ku zgjedhim llojin (përsëritje, një herë, etj.), ditën, orën, llojin e fillimit:

Kjo është e gjitha, e krijuar. Job Master është i freskët dhe i gjelbër. Ne shikojmë gjendjen në planet e mirëmbajtjes:

Për paranojakët, mos kini frikë ta pranoni këtë në pasqyrë, ia vlen të shikoni në shpirtin e SQL Server Agent - Job Activity Monitor, Job Wizard do të tregojë gjithçka në detaje:

Tani, kur plotësohen kushtet e specifikuara, duhet të krijohet një kopje rezervë e plotë e bazës së të dhënave. Me të njëjtin parim, krijohen kopje rezervë diferenciale dhe të regjistrit të transaksioneve (këto nën-artikuj ndodhen poshtë "Rezervimi i plotë" në listën e përzgjedhjes së detyrave).
Përdredhni veshët MSSQL sipas dëshirës, ​​mos i zhbllokoni

Artikulli tjetër është krijimi me Transact-SQL dhe disa shembuj.

Artikujt kryesorë të lidhur