Mutarea bazelor de date SQL Server 7.0 pe un nou server cu BACKUP și RESTORE

Traduceri articole Traduceri articole
ID articol: 304692 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

REZUMAT

Acest articol arată cum se restaurează copiile de rezervă ale bazelor de date pentru utilizatori și sisteme pe o altă instalare de SQL Server 7.0 care are configurațiile literelor de unitate diferite de serverul pe care ați făcut inițial copiile de rezervă ale bazelor de date. Această metodă se poate utiliza când doriți să mutați o bază de date utilizând copii de rezervă pentru bazele de date sau restaurări de baze de date. Pentru mai multe informații despre utilizarea unei metode alternative, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
224071 Cum se mută bazele de date SQL Server într-o locație nouă cu ajutorul funcțiilor Detach și Attach din SQL Server (articolul poate să fie în limba engleză)
NOTĂ: Instrucțiunile din acest articol nu se aplică la SQL Server 2000.

Bazele de date de sistem de distribuire sau master, model, msdb SQL Server 7.0 nu se pot restaura în SQL Server 2000. Bazele de date de sistem SQL Server 7.0 nu sunt compatibile cu SQL Server 2000.

INFORMAȚII SUPLIMENTARE

Exemplele din acest articol se bazează pe următoarele presupuneri:
  • Instalarea destinație de SQL Server 7.0 este în directorul D:\Mssql7, iar fișierele de bază de date și de jurnal sunt amplasate în directorul implicit D:\Mssql7\data.
  • Instalarea sursă de SQL Server 7.0 este în directorul C:\Mssql7, iar fișierul de bază de date și fișierele de jurnal sunt amplasate în directorul implicit C:\Mssql7\data.

Cerințe preliminare

  • Faceți o copie de rezervă curentă a tuturor bazelor de date în locația lor curentă, în special bazei de date master, a bazei de date model și a bazei de date msdb.
  • Aveți nevoie de privilegii de administrator de sistem.
  • Trebuie să cunoașteți atât numele logic, cât și pe cel fizic al tuturor fișierelor de date și de jurnal pentru bazele de date pe care doriți să le restaurați.

    NOTĂ: Pentru a determina numele logic și numele fizic al tuturor fișierelor pe care doriți să le restaurați din setul copie de rezervă, executați comanda următoare într-o conexiune Query Analyzer unde bazadate.bak este numele fișierului care conține copia de rezervă a bazei de date:
    RESTORE FILELISTONLY FROM DISK='d:\mssql7\backup\bazadate.bak'
    go
    					
  • Instalările SQL Server 7.0 sursă și destinație trebuie să aibă aplicate aceleași pachete service pack și aceleași remedieri.
Dacă întâmpinați probleme în timpul procesului și nu este posibil să accesați o bază de date pe care ați mutat-o sau dacă nu este posibilă lansarea SQL Server, verificați jurnalul de erori SQL Server și manualele online SQL Server 7.0 pentru detalii privind erorile pe care le întâlniți.

Pentru a restaura bazele de date

  1. Restaurați baza de date master.

    În exemplul următor, baza de date master conține un fișier de date, Master.mdf și un fișier jurnal, Mastlog.ldf, din fișierul cu copia de rezervă completă a bazei de date, Master_db.bak.
    1. La un prompt de comandă, executați următoarea comandă pentru a porni SQL Server:
      d:\mssql7\binn\sqlservr -c -m

      NOTĂ: Parametrul -m lansează SQL Server în modul utilizator unic. În modul utilizator unic, nu se poate face decât o singură conexiune. Verificați dacă nu cumva alți clienți sau alte servicii realizează acea conexiune unică înainte de a vă conecta cu SQL Server Query Analyzer.
    2. În SQL Server Query Analyzer, utilizați următoarea sintaxă pentru a restaura o copie de rezervă a bazei de date master:
      RESTORE DATABASE master FROM disk='d:\mssql7\backup\master_db.bak'
      WITH MOVE 'master' to 'd:\mssql7\data\master.mdf',
      MOVE 'mastlog' to 'd:\mssql7\data\mastlog.ldf',
      REPLACE
      go
      NOTĂ: SQL Server se închide automat după ce restaurați baza de date master.
    3. La un prompt de comandă, executați următoarea comandă pentru a porni SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
      NOTĂ: Cu această sintaxă, aveți posibilitatea să efectuați actualizările tabelului de sistem.
    4. În SQL Server Query Analyzer, executați următorul set de instrucțiuni:

      AVERTISMENT: Actualizarea incorectă a tabelelor de sistem poate provoca probleme serioase, care pot să necesite reinstalarea SQL Server. Microsoft nu poate garanta că problemele care rezultă din actualizarea incorectă a tabelelor de sistem se pot rezolva. Actualizați tabelele de sistem pe propriul risc.
      USE master
      go
      UPDATE sysdatabases SET filename='d:\mssql7\data\tempdb.mdf' WHERE name='tempdb'
      go
      ALTER DATABASE tempdb MODIFY FILE (name = tempdev, filename = 'd:\mssql7\data\tempdb.mdf')
      ALTER DATABASE tempdb MODIFY FILE (name = templog, filename = 'd:\mssql7\data\templog.ldf')
      go
      Ar trebui să primiți următoarele mesaje care confirmă modificarea:
      File 'tempdev' modified in sysaltfiles. Delete old file after restarting SQL Server.

      File 'templog' modified in sysaltfiles. Delete old file after restarting SQL Server.
  2. Restaurați baza de date model.

    În exemplul următor, baza de date model conține un fișier de date Model.mdf și un fișier jurnal, Modellog.ldf, din fișierul copie de rezervă completă a bazei de date, Model_db.bak. Dacă nu aveți o copie de rezervă a bazei de date model sau dacă doriți să utilizați pe cea care este instalată în mod implicit în timpul instalării SQL Server, remapați baza de date model. Această procedură este similară procedurii descrise pentru baza de date northwind și baza de date pubs de la pasul 4.
    1. În SQL Server Query Analyzer, executați următoarea procedură stocată pentru a detașa baza de date model curentă de la SQL Server:
      exec sp_detach_db N'model'
      go
      După ce executați procedura stocată, primiți următorul mesaj:
      Successfully detached database 'model'
      DBCC execution completed. If DBCC printed error messages, contact your system administrator
      NOTĂ: Este necesar să detașați baza de date model, deoarece nu se poate suprascrie direct cu ajutorul instrucțiuniiRESTORE. Trebuie să eliminați referințele la tabelul de sistem pentru această bază de date de sistem înainte de restaurarea bazei de date. În plus, nu este posibilă eliminarea bazei de date cu scopul de a elimina aceste intrări de sistem.
    2. În SQL Server Query Analyzer, utilizați următoarea sintaxă pentru a restaura o copie de rezervă a bazei de date model:
      RESTORE DATABASE model FROM disk='d:\mssql7\backup\model_db.bak'
      WITH MOVE 'modeldev' TO 'd:\mssql7\data\model.mdf',
           MOVE 'modellog' TO 'd:\mssql7\data\modellog.ldf',
           REPLACE
      go
      Notă Conexiunea la SQL Server se întrerupe după ce restaurați baza de date model.
  3. Restaurați baza de date msdb.

    În exemplul următor, baza de date msdb conține un fișier de date, Msdbdata.mdf și un fișier jurnal, Msdblog.ldf, din fișierul cu copia de rezervă completă a bazei de date, Msdb_db.bak.
    1. La un prompt de comandă, executați următoarea comandă pentru a porni SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. În SQL Server Query Analyzer, executați următoarea procedură stocată pentru a detașa baza de date msdb:
      exec sp_detach_db N'msdb'
      go
    3. În SQL Server Query Analyzer, utilizați următoarea sintaxă pentru a restaura o copie de rezervă a bazei de date msdb:
      RESTORE DATABASE msdb FROM disk='d:\mssql7\backup\msdb_db.bak'
      WITH MOVE 'msdbdata' TO 'd:\mssql7\data\msdbdata.mdf',
           MOVE 'msdblog' TO 'd:\mssql7\data\msdblog.ldf',
           REPLACE
      go
      Notă Conexiunea la SQL Server se întrerupe după ce restaurați baza de date msdb.
  4. Bazele de date northwind și pubs:

    După ce restaurați baza de date master, intrările din tabelul de sistem pentru baza de date northwind și pubs se schimbă, iar cele două baze de date, la fel ca și bazele de date ale celorlalți utilizatori, se află în modul Suspect. Dacă doriți să reutilizați fișierele de bază de date inițiale, iar apoi să le reatașați la server, utilizați următorul exemplu. Altfel, dacă doriți să restaurați o copie din copia de rezervă, utilizați exemplul de bază de date mydb care este descris la pasul 6. Utilizați următorul exemplu pentru a actualiza referințele la tabelul de sistem pentru baza de date northwind. Baza de date northwind conține un fișier de date, Northwind.mdf și un fișier jurnal, Northwind.ldf.
    1. La un prompt de comandă, executați următoarea comandă pentru a porni SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. În SQL Server Query Analyzer, executați următoarea procedură stocată pentru a detașa baza de date northwind:
      exec sp_detach_db N'northwind'
      go

      NOTĂ: Este posibil să primiți următorul mesaj care indică faptul că nu aveți acces la fișierele fizice:
      Server: Msg 947, Level 16, State 1, Line 1 Error while closing database 'Northwind' cleanly.
      Successfully detached database 'northwind'.
      DBCC execution completed. If DBCC printed error messages, contact your system administrator.
    3. În SQL Server Query Analyzer, executați următoarea procedură stocată pentru a atașa baza de date northwind:
      exec sp_attach_db N'northwind', N'd:\mssql7\data\northwnd.mdf', N'd:\mssql7\data\northwnd.ldf'
      go
  5. Remapați baza de date pubs.

    Baza de date pubs conține un fișier de date, Pubs.mdf, și un fișier jurnal, Pubs_log.ldf. Baza de date pubs poate fi remapată în același mod în care ați remapat și baza de date northwind.
  6. Restaurați baza de date mydb.

    Baza de date mydb conține un fișier de date, Mydbdata.mdf și un fișier jurnal, Mydblog.ldf, din fișierul cu copia de rezervă completă a bazei de date, Mydb_db.bak.
    1. În SQL Server Query Analyzer, executați următoarea procedură stocată pentru a detașa baza de date mydb:
      exec sp_detach_db N'mydb'
      go
    2. În SQL Server Query Analyzer, utilizați următoarea sintaxă pentru a restaura o copie de rezervă a bazei de date mydb:
      RESTORE DATABASE mydb FROM disk='d:\mssql7\backup\mydb_db.bak'
      WITH MOVE 'mydbdata' TO 'd:\mssql7\data\mydbdata.mdf',
           MOVE 'mydblog' TO 'd:\mssql7\data\mydblog.ldf',
           REPLACE
      go
  7. Redenumiți SQL Server.

    IMPORTANT: Această procedură este necesară numai dacă trebuie să modificați numele instalării SQL Server la care tocmai ați restaurat baza de date master.

    De exemplu, redenumiți SQL Server dacă:

    • Ați restaurat copiile de rezervă a bazelor de date de pe un computer numit SOURCESVR pe un computer numit TARGETSVR.
    • Computerul numit TARGETSVR are un server SQL numit SOURCESVR.
    Dacă trebuie să redenumiți SQL Server, utilizați următoarea sintaxă pentru a sincroniza numele computerului și numele SQL Server:
    exec sp_dropserver 'SOURCESVR'
    go
    exec sp_addserver 'TARGETSVR', 'LOCAL'
    go
  8. Reporniți serviciul SQL Server.

REFERINȚE

Pentru informații suplimentare, faceți clic pe următorul număr de articol pentru a vedea articolul din Baza de cunoștințe Microsoft:
224071 Cum se mută bazele de date SQL Server într-o locație nouă cu ajutorul funcțiilor Detach și Attach din SQL Server (articolul poate să fie în limba engleză)
314546 Cum se mută bazele de date între computere care execută SQL Server (articolul poate să fie în limba engleză)
NOTĂ: Pentru informații suplimentare despre alte opțiuni de lansare cum ar fi -c, -m și -f, consultați SQL Server Books Online.

Proprietă?i

ID articol: 304692 - Ultima examinare: 16 mai 2011 - Revizie: 4.0
SE APLICĂ LA:
  • Microsoft SQL Server 7.0 Standard Edition
Cuvinte cheie: 
kbsqlmanagementtools kbinfo KB304692

Trimite?i feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com