Recuperarea de la încălcarea fișierelor MDF (sau de rezervă)

Restaurați informațiile în cazul încălcării parțiale a fișierelor MDF (sau de rezervă).

Sa întâmplat teribil (șurubul a căzut, a existat o creștere a tensiunii etc.) - baza este în stare de suspect și nu vrea să o lase, ce n-am face noi ...







În mod normal, nu am făcut copii de rezervă ale bazelor de date - poate că ne va purta. Nu a transportat prin.

Deci, pentru a restaura datele de care avem nevoie:

1. server MSSQL, MS SQL Enterprise Manager (EM), MS SQL Query Analyzer (QA) de la Microsoft (inclus în pachetul MS SQL).

2. 1C: Enterprise 7.7 versiunea SQL.

4. O copie a fișierului de la 1C baza de date cu 1cv7.md-deteriorat, o copie a fișierului MDF distrus, aproximativ aceeași cantitate de spațiu pe disc, care deține fișierul.

5. Timp liber, bazat pe 3 ore pe 1 GB greutate din fișierul MDF.

6. Tastatură, mouse, monitor.

Descrieți pe scurt ceea ce face MSSQLRecovery:

1. Se analizează fișierul mdf la nivelul structurii (MFT), formează text-script-uri care conțin schema bazei de date și datele din baza noastră de date distrusă.

2. Crearea unui commit.bat fișier batch, care lansează versiunea consola de Query Analyzer MS, o performanță în mod SQL fișiere și umple de fapt baza noastra de date SQL nou create.

Toată lumea este bună la program, poate ajuta într-o situație fără speranță. Dar există două momente enervante care împiedică restaurarea bazei de date 1C.

În primul rând, programul creează script-ul schema.sql, care conține o descriere a structurii de tabele, proceduri, funcții, indici, și așa mai departe. Acest script este executat primul, respectiv, creează tabele, proceduri, funcții, indici, etc. în baza noastră de date încă goale. Este foarte calitativ. Pentru un „dar“ - un fișier confuz ordinea câmpurilor la crearea unei structuri de masă. Posibil pentru alte programe este „entanglement“ nu este teribil, dar nu digera 1C.







În al doilea rând, de a crea un lot în versiunea consola de Query Analyzer (isql.exe) utilizat fișierul commit.bat, dar din anumite motive el nu vrea să funcționeze corect cu codul de pagină cp1251 - conversia de caractere rusești în OEM-codificare. Și asta nu ne convine.

De fapt, procedurile care trebuie îndeplinite, astfel încât să existe fericire:

1. Incorporați MSSQLRecovery într-un fișier MDF parțial distrus, dați-i timp să îl proceseze și apoi specificați unde doriți să salvați scripturile rezultate cu structura bazei de date și datele recuperate.

2. Creați o nouă bază de date goală pe serverul SQL.

3. Creați structuri ale bazei noastre de date utilizând o copie a 1cv7.md din baza de date colapsată folosind 1C: Configurator.

4. Editați fișierul commit.bat. eliminând linia cu apelul pentru a executa scriptul schema.sql - am creat deja structura bazei de date utilizând 1C.

5. În același commit.bat, modificați apelul isql la versiunea isqlw-GUI a analizorului de interogări. Acest lucru este necesar pentru percepția corectă a codării rusești. Ie line:
isql -S% 1 -d% 2 -U% 3 -P% 4 -E -I data0001.sql
va arata ca:
isqlw -S% 1 -d% 2 -U% 3 -P% 4 -E -i data0001.sql -o out.txt
Accesând „“ și o- fișierul „out.txt“ necesară pentru a lansa în mod corespunzător GUI-versiunea de AC, în fișierul „out.txt“ va fi scris jurnalul de tranzacții efectuate. Înlocuiți întregul fișier commit.bat, de exemplu în managerul de fișiere Far Manager.

6. Start commit.bat fișier pentru execuție cu patru parametri: - SQL Server name - Numele noii baze de date SQL pe care am creat anterior - Utilizator având dbowner rol pentru baza de date (de obicei, sa) - parola pentru acest utilizator va arata ceva de genul asta : commit.bat my_sql_server recovery_1c_db sa gfhjkm

De fapt, totul. În loc de un fișier batch, puteți scrie o prelucrare simplă 1C, care prin lista de înregistrări va executa în mod constant scripturi.

După ce ai terminat comanda commit.bat, poți rula 1C și vezi cât de mari sunt pierderile. De obicei, datele care sunt utilizate cel mai des sau utilizate în momentul defectării sunt pierdute.

Și pentru a nu exista nici o pierdere - nu face backup. Și mai des.







Articole similare

Trimiteți-le prietenilor: