Przenoszenie baz danych programu SQL Server 7.0 do nowego serwera przez tworzenie kopii zapasowej i przywracanie

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 304692 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano, jak z kopii zapasowej przywrócić bazę danych dla użytkowników i systemów w innej instalacji programu SQL Server 7.0 mającej inną literę dysku niż serwer, na którym była oryginalnie wykonana kopia zapasowa bazy danych. Tej metody można użyć do przeniesienia bazy danych przy użyciu kopii zapasowej i przywracania. Aby uzyskać dodatkowe informacje na temat alternatywnej metody, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
224071 INF: Przenoszenie baz danych programu SQL Server do nowej lokalizacji za pomocą odłączania/dołączania
UWAGA: Instrukcje zawarte w tym artykule nie dotyczą programu SQL Server 2000.

Nie można przywrócić baz danych master, model, msdb ani systemowej bazy danych dystrybucji programu SQL Server 7.0 w programie SQL Server 2000. Systemowe bazy danych programu SQL Server 7.0 nie są zgodne z programem SQL Server 2000.

Więcej informacji

Przykłady podane w tym artykule są oparte na następujących założeniach:
  • Docelowa instalacja programu SQL Server 7.0 to katalog D:\Mssql7, a pliki bazy danych i dziennika znajdują się w domyślnym katalogu D:\Mssql7\data.
  • Źródłowa instalacja programu SQL Server 7.0 to katalog C:\Mssql7, a pliki bazy danych i dziennika znajdują się w domyślnym katalogu C:\Mssql7\data.

Wymagania wstępne

  • Należy sporządzić kopię zapasową wszystkich baz danych z bieżącej lokalizacji, w szczególności baz danych master, model i msdb.
  • Trzeba mieć uprawnienia administratora systemu.
  • Muszą być znane zarówno logiczne, jak i fizyczne nazwy wszystkich plików danych i dzienników dla baz danych, które mają być przywrócone.

    UWAGA: Aby określić nazwę logiczną i fizyczną wszystkich plików, które mają być przywrócone z zestawu kopii zapasowej, należy uruchomić następujące polecenie w połączeniu programu Query Analyzer, gdzie mydbdata.bak to nazwa pliku zawierającego kopię zapasową bazy danych:
    RESTORE FILELISTONLY FROM DISK='d:\mssql7\backup\mydbdata.bak'
    go
    					
  • Źródłowa i docelowa instalacja programu SQL Server 7.0 powinny mieć zastosowane te same dodatki Service Pack i poprawki.
Jeśli podczas procesu wystąpi jakiś problem i nie będzie można uzyskać dostępu do przeniesionej bazy danych lub jeśli nie będzie można uruchomić programu SQL Server, należy sprawdzić dziennik błędów programu SQL Server oraz dokumentację SQL Server 7.0 Books Online, aby uzyskać szczegółowe informacje na temat napotkanych błędów.

Aby przywrócić bazy danych

  1. Przywróć bazę danych master.

    W poniższym przykładzie baza danych master zawiera jeden plik danych, Master.mdf, oraz jeden plik dziennika, Mastlog.ldf, z pliku pełnej kopii zapasowej, Master_db.bak.
    1. Uruchom następujące polecenie w wierszu polecenia, aby uruchomić program SQL Server:
      d:\mssql7\binn\sqlservr -c -m

      UWAGA: Przełącznik -m uruchamia program SQL Server w trybie pojedynczego użytkownika. W trybie pojedynczego użytkownika nie można pomyślnie ustanowić więcej niż jednego połączenia. Należy mieć świadomość wszystkich innych klientów lub usług, które mogą nawiązać to połączenie, przed połączeniem z programem SQL Server Query Analyzer.
    2. W programie SQL Server Query Analyzer użyj następującej składni, aby przywrócić bazę danych 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
      UWAGA: Po przywróceniu bazy danych master program SQL Server automatycznie wyłącza się.
    3. Wykonaj następujące polecenie z wiersza polecenia, aby uruchomić program SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
      UWAGA: Przy użyciu tej składni można wykonać aktualizacje tabel systemowych.
    4. W programie SQL Server Query Analyzer wykonaj następujący zestaw instrukcji:

      Ostrzeżenie: Nieprawidłowa aktualizacja tabel systemowych może stać się przyczyną poważnych problemów, które mogą spowodować, że konieczna będzie ponowna instalacja programu SQL Server. Firma Microsoft nie może zagwarantować, że będzie możliwe rozwiązanie problemów spowodowanych nieprawidłową aktualizacją tabel systemowych. Aktualizację tabel systemowych użytkownik wykonuje na własną odpowiedzialność.
      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
      Powinny się pojawić następujące komunikaty potwierdzające zmianę:
      File 'tempdev' modified in sysaltfiles. (Plik 'tempdev' zmodyfikowany w plikach sysaltfiles). Delete old file after restarting SQL Server. (Usuń stary plik po ponownym uruchomieniu programu SQL Server).

      File 'templog' modified in sysaltfiles. (Plik 'templog' zmodyfikowany w plikach sysaltfiles). Delete old file after restarting SQL Server. (Usuń stary plik po ponownym uruchomieniu programu SQL Server).
  2. Przywróć bazę danych model.

    W poniższym przykładzie baza danych model zawiera jeden plik danych, Model.mdf, oraz jeden plik dziennika, Modellog.ldf, z pliku pełnej kopii zapasowej, Model_db.bak. Jeśli kopia zapasowa bazy danych model jest niedostępna lub jeśli ma być użyta baza danych zainstalowana domyślnie podczas instalacji programu SQL Server, można przemapować bazę danych model. Ta procedura jest podobna do procedury opisanej w odniesieniu do baz danych northwind oraz pubs w kroku 4.
    1. W programie SQL Server Query Analyzer wykonaj następującą procedurę przechowywaną, aby odłączyć bieżącą bazę danych model od programu SQL Server:
      exec sp_detach_db N'model'
      go
      Po wykonaniu procedury przechowywanej pojawi się następujący komunikat:
      Successfully detached database 'model' (Baza danych 'model' została pomyślnie odłączona).
      DBCC execution completed. If DBCC printed error messages, contact your system administrator (Ukończono wykonywanie programu DBCC. Jeśli program DBCC wyświetlił komunikaty o błędzie, skontaktuj się z administratorem systemu).
      UWAGA: Należy odłączyć bazę danych model, ponieważ nie można jej zastąpić bezpośrednio przy użyciu instrukcji RESTORE. Należy usunąć odwołania do tabel systemowych dla tej systemowej bazy danych przed jej przywróceniem. Poza tym nie można usunąć bazy danych w celu usunięcia tych wpisów systemowych.
    2. W programie SQL Server Query Analyzer użyj następującej składni, aby przywrócić bazę danych 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
      Uwaga: Po przywróceniu bazy danych model połączenie z programem SQL Server jest przerywane.
  3. Przywróć bazę danych msdb.

    W poniższym przykładzie baza danych msdb zawiera jeden plik danych, Msdbdata.mdf, oraz jeden plik dziennika, Msdblog.ldf, z pliku pełnej kopii zapasowej, Msdb_db.bak.
    1. Wykonaj następujące polecenie z wiersza polecenia, aby uruchomić program SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. W programie SQL Server Query Analyzer wykonaj następującą procedurę przechowywaną, aby odłączyć bieżącą bazę danych msdb:
      exec sp_detach_db N'msdb'
      go
    3. W programie SQL Server Query Analyzer użyj następującej składni, aby przywrócić bazę danych 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
      Uwaga: Po przywróceniu bazy danych msdb połączenie z programem SQL Server jest przerywane.
  4. Bazy danych northwind i pubs:

    Po przywróceniu bazy danych master są zmieniane wpisy tabel systemowych dla baz danych northwind i pubs i te dwie bazy danych, podobnie jak wszystkie pozostałe bazy danych użytkowników, znajdują się w trybie Suspect (Podejrzany). Jeśli mają być ponownie użyte oryginalne pliki bazy danych i ponownie dołączone do serwera, można użyć następującego przykładu. W przeciwnym wypadku, jeśli mają być przywrócone z kopii zapasowej, należy użyć przykładu bazy danych mydb opisanego w kroku 6. Następującego przykładu należy użyć w celu zaktualizowania odwołań do tabel systemowych dla bazy danych northwind. Baza danych northwind zawiera jeden plik danych, Northwind.mdf, i jeden plik dziennika, Northwind.ldf.
    1. Wykonaj następujące polecenie z wiersza polecenia, aby uruchomić program SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. W programie SQL Server Query Analyzer wykonaj następującą procedurę przechowywaną, aby odłączyć bazę danych northwind:
      exec sp_detach_db N'northwind'
      go

      UWAGA: Może się pojawić następujący komunikat oznaczający, że nie ma dostępu do plików fizycznych:
      Server: Msg 947, Level 16, State 1, Line 1 Error while closing database 'Northwind' cleanly. (Serwer: Komunikat 947, Poziom 16, Stan 1, Wiersz 1 Błąd podczas czystego zamykania bazy danych 'Northwind').
      Successfully detached database 'northwind' (Baza danych 'northwind' została pomyślnie odłączona).
      DBCC execution completed. If DBCC printed error messages, contact your system administrator. (Ukończono wykonywanie programu DBCC. Jeśli program DBCC wyświetlił komunikaty o błędzie, skontaktuj się z administratorem systemu).
    3. W programie SQL Server Query Analyzer użyj następującej składni, aby dołączyć bazę danych northwind:
      exec sp_attach_db N'northwind', N'd:\mssql7\data\northwnd.mdf', N'd:\mssql7\data\northwnd.ldf'
      go
  5. Ponownie zamapuj bazę danych pubs.

    Baza danych pubs zawiera jeden plik danych, Pubs.mdf, i jeden plik dziennika, Pubs_log.ldf. Bazę danych pubs można ponownie zamapować w ten sam sposób co bazę danych northwind.
  6. Przywróć bazę danych mydb.

    W poniższym przykładzie baza danych mydb zawiera jeden plik danych, Mydbdata.mdf, oraz jeden plik dziennika, Mydblog.ldf, z pliku pełnej kopii zapasowej, Mydb_db.bak.
    1. W programie SQL Server Query Analyzer wykonaj następującą procedurę przechowywaną, aby odłączyć bieżącą bazę danych mydb:
      exec sp_detach_db N'mydb'
      go
    2. W programie SQL Server Query Analyzer użyj następującej składni, aby przywrócić bazę danych 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. Zmień nazwę instalacji programu SQL Server.

    Ważne: Ta procedura jest wymagana tylko wtedy, gdy została zmieniona nazwa instalacji programu SQL Server, w której była właśnie przywrócona baza danych master.

    Nazwę instalacji programu SQL Server można zmienić na przykład, jeśli:

    • Zostały przywrócone bazy danych z komputera o nazwie SOURCESVR na komputerze o nazwie TARGETSVR.
    • Na komputerze o nazwie TARGETSVR znajduje się instalacja programu SQL Server o nazwie SOURCESVR.
    Jeśli zachodzi potrzeba zmiany nazwy instalacji programu SQL Server, należy użyć następującej składni, aby zsynchronizować nazwę komputera z nazwą instalacji programu:
    exec sp_dropserver 'SOURCESVR'
    go
    exec sp_addserver 'TARGETSVR', 'LOCAL'
    go
  8. Uruchom usługę SQL Server.

MATERIAŁY REFERENCYJNE

Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
224071 INF: Przenoszenie baz danych programu SQL Server do nowej lokalizacji za pomocą odłączania/dołączania
314546 Przenoszenie baz danych między komputerami z programem SQL Server
UWAGA: Aby uzyskać dodatkowe informacje na temat innych opcji rozruchowych , takich jak -c, -m i -f, zajrzyj do dokumentacji SQL Server Books Online.

Właściwości

Numer ID artykułu: 304692 - Ostatnia weryfikacja: 17 maja 2011 - Weryfikacja: 4.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 7.0 Standard Edition
Słowa kluczowe: 
kbsqlmanagementtools kbinfo KB304692

Przekaż opinię

 

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