Переміщення баз даних SQL Server 7.0 на новий сервер за допомогою операторів BACKUP та RESTORE

Переклади статей Переклади статей
Номер статті: 304692 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

ПІДСУМКИ

У цій статті показано, як відновити базу даних з резервних копій із сервера, на якому базу даних було заархівовано, для користувачів та систем в іншій інсталяції SQL Server 7.0 з іншими буквами дисків. Цей метод можна використовувати для переміщення бази даних шляхом відновлення за допомогою архівної копії бази даних. Докладніше про використанняпро використання альтернативного методу переміщення див. у статті в базі знань Microsoft Knowledge Base:
224071 Переміщення бази даних SQL Server за допомогою функцій SQL Server Detach та Attach (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)
ПРИМІТКА. Наведені в цій статті інструкції не застосовуються до SQL Server 2000.

Відновлювати бази даних master, model, msdb або бази даних розповсюджуваних систем SQL Server 7.0 на SQL Server 2000 не можна. Системні бази даних SQL Server 7.0 несумісні з SQL Server 2000.

ДОДАТКОВІ ВІДОМОСТІ

Приклади в цій статті базуються на наступних припущеннях:
  • Місце цільової інсталяції SQL Server 7.0 — каталог D:\Mssql7, а файли бази даних та журнали розташовані в каталозі за промовчанням D:\Mssql7\data.
  • Місце вихідної інсталяції SQL Server 7.0 — каталог C:\Mssql7, а файли бази даних та журнали розташовані в каталозі за промовчанням C:\Mssql7\data.

Попередні вимоги

  • Створіть поточну резервну копію всіх баз даних з їхнього поточного розміщення, особливо це стосується баз даних master, model та msdb.
  • Для цього необхідно мати привілеї системного адміністратора.
  • Ви маєте знати логічні та фізичні імена усіх файлів даних та журналів бази даних, які потрібно відновити.

    ПРИМІТКА. Щоб визначити логічні та фізичні імена усіх файлів, які потрібно відновити з архівного набору, виконайте наступну команду в підключенні Query Analyzer, де mydbdata.bak — ім'я файлу, який містить резервну копію бази даних:
    RESTORE FILELISTONLY FROM DISK='d:\mssql7\backup\mydbdata.bak'
    go
    					
  • До вихідної та цільової інсталяції SQL Server 7.0 мають бути застосовані однакові пакети оновлень та виправлення.
Якщо під час процесу виникають проблеми і ви не можете звернутися до переміщеної бази даних або не можете запустити SQL Server, перевірте журнал помилок SQL Server та зверніться за інформацією щодо виниклої помилки до інтерактивної книги SQL Server 7.0 Books Online.

Щоб відновити бази даних

  1. Відновлення бази даних master.

    У наступному прикладі база даних master містить один файл даних Master.mdf та один журнал Mastlog.ldf з файлу повної резервної копії бази даних Master_db.bak.
    1. Виконайте наступну команду з командного рядка, щоб запустити SQL Server:
      d:\mssql7\binn\sqlservr -c -m

      ПРИМІТКА. Команда з параметром -m запускає SQL Server у режимі одного користувача. У режимі одного користувача не можна створити більше одного підключення. Пам'ятайте, що будь-який інший клієнт або служба можуть створити це єдине підключення до того, як ви підключитеся до SQL Server Query Analyzer.
    2. У SQL Server Query Analyzer виконайте відновлення бази даних 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
      ПРИМІТКА. Після відновлення бази даних master SQL Server автоматично закривається.
    3. Виконайте наступну команду з командного рядка, щоб запустити SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
      ПРИМІТКА. За допомогою цього синтаксису можна виконати оновлення системних таблиць.
    4. У SQL Server Query Analyzer виконайте наступний набір операторів:

      ПОПЕРЕДЖЕННЯ. Неправильне оновлення системних таблиць може викликати серйозні проблеми, які можуть спричинити необхідність переінсталяції SQL Server. Корпорація Майкрософт не може гарантувати успішне розв'язання проблем, виниклих унаслідок неправильного оновлення системних таблиць. Ви змінюєте системні таблиці на власний ризик.
      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
      Ви маєте отримати наступні повідомлення, що підтверджують зміну:
      Файл 'tempdev' змінено у sysaltfiles. Видаліть старий файл після перезапуску SQL Server.

      Файл 'templog' змінено у sysaltfiles. Видаліть старий файл після перезапуску SQL Server.
  2. Відновлення бази даних model.

    У наступному прикладі база даних model містить один файл даних Model.mdf та один журнал Modellog.ldf з файлу повної резервної копії бази даних Model_db.bak. Якщо ви не маєте резервної копії бази даних model або якщо хочете використовувати ту, що її було інстальовано за промовчанням під час інсталяції SQL Server, можна перепризначити базу даних model. Ця процедура подібна тій, що описана для баз даних northwind та pubs на кроці 4.
    1. У SQL Server Query Analyzer виконайте наступну збережену процедуру, щоб від'єднати поточну базу даних model від SQL Server:
      exec sp_detach_db N'model'
      go
      Після виконання збереженої процедури ви одержите таке повідомлення:
      Базу даних 'model' успішно від'єднано
      Виконання DBCC завершено. Якщо DBCC повертає повідомлення про помилки, зверніться до системного адміністратора
      ПРИМІТКА.: Базу даних model необхідно від'єднати, оскільки безпосередньо перезаписати її за допомогою оператора RESTORE не можна. Перед відновленням системної бази даних необхідно видалити посилання системних таблиць до цієї бази даних. Крім того, не можна видаляти ці системні записи шляхом видалення бази даних.
    2. У SQL Server Query Analyzer виконайте відновлення бази даних 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
      Примітка. Після відновлення бази даних model підключення до SQL Server розривається.
  3. Відновлення бази даних msdb.

    У наступному прикладі база даних msdb містить один файл даних Msdbdata.mdf та один журнал Msdblog.ldf з файлу повної резервної копії бази даних Msdb_db.bak.
    1. Виконайте наступну команду з командного рядка, щоб запустити SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. У SQL Server Query Analyzer виконайте наступну збережену процедуру, щоб від'єднати базу даних msdb:
      exec sp_detach_db N'msdb'
      go
    3. У SQL Server Query Analyzer виконайте відновлення бази даних 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
      Примітка. Після відновлення бази даних msdb підключення до SQL Server розривається.
  4. Бази даних northwind та pubs:

    Після відновлення бази даних master записи системної таблиці для баз даних northwind та pubs змінюються, й ці дві бази даних, як і всі інші користувацькі бази даних, переводяться в режим Suspect. Щоб знову можна було використовувати файли вихідної бази даних та знову під'єднати їх до сервера, скористайтесь наступним прикладом. В іншому випадку, якщо потрібно відновити копію з архіву, скористайтеся прикладом для бази даних mydb, який описано на кроці 6. Для оновлення посиланнь системної таблиці до бази даних northwind використовуйте наступний приклад. База даних northwind містить один файл даних Northwind.mdf та один журнал Northwind.ldf.
    1. Виконайте наступну команду з командного рядка, щоб запустити SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. У SQL Server Query Analyzer виконайте наступну збережену процедуру, щоб від'єднати базу даних northwind:
      exec sp_detach_db N'northwind'
      go

      ПРИМІТКА. Ви можете отримати наступне повідомлення, яке вказує, що доступ до фізичних файлів неможливий:
      Сервер: Повід. 947, Рівень 16, Стан 1, Рядок 1 Помилка чистого закриття бази даних 'Northwind'.
      Базу даних 'northwind' успішно від'єднано
      Виконання DBCC завершено. Якщо DBCC повертає повідомлення про помилки, зверніться до системного адміністратора.
    3. У SQL Server Query Analyzer виконайте наступну збережену процедуру, щоб від'єднати базу даних northwind:
      exec sp_attach_db N'northwind', N'd:\mssql7\data\northwnd.mdf', N'd:\mssql7\data\northwnd.ldf'
      go
  5. Переназначення бази даних pubs.

    База даних pubs містить один файл даних Pubs.mdf та один журнал Pubs_log.ldf. Переназначити базу даних pubs можна таким же чином, як і базу даних northwind.
  6. Відновлення бази даних mydb.

    База даних mydb містить один файл даних Mydbdata.mdf та один журнал Mydblog.ldf з файлу повної резервної копії бази даних Mydb_db.bak.
    1. У SQL Server Query Analyzer виконайте наступну збережену процедуру, щоб від'єднати базу даних mydb:
      exec sp_detach_db N'mydb'
      go
    2. У SQL Server Query Analyzer виконайте відновлення бази даних 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. Перейменування SQL Server.

    УВАГА! Ця процедура потрібна тільки якщо необхідно змінити назву інсталяції SQL Server, в якій щойно було відновлено базу даних master.

    Наприклад, перейменувати SQL Server може знадобитися, якщо:

    • ви відновили базу даних з резервної копії з комп'ютера, ім'я якого SOURCESVR, на комп'ютері TARGETSVR;
    • на комп'ютері, ім'я якого TARGETSVR, інсталяція SQL Server має ім'я SOURCESVR.
    Якщо необхідно перейменувати SQL Server, скористайтесь наступним синтаксисом для синхронізації імен комп'ютера та інсталяції SQL Server:
    exec sp_dropserver 'SOURCESVR'
    go
    exec sp_addserver 'TARGETSVR', 'LOCAL'
    go
  8. Перезапуск службы SQL Server.

ДОПОМІЖНІ МАТЕРІАЛИ

Докладніше див. у статті бази знань Microsoft Knowledge Base:
224071 Переміщення бази даних SQL Server за допомогою функцій SQL Server Detach та Attach (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)
314546 Переміщення баз даних між комп'ютерами, на яких працює SQL Server (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)
ПРИМІТКА. Докладніше про інші параметри запуску, такі як -c, -m та -f, див. в інтерактивній книзі SQL Server 7.0 Books Online.

Властивості

Номер статті: 304692 - Востаннє переглянуто: 18 травня 2011 р. - Редакція: 4.0
ЗАСТОСОВУЄТЬСЯ ДО:
  • Microsoft SQL Server 7.0 Standard Edition
Ключові слова: 
kbsqlmanagementtools kbinfo KB304692

Надіслати відгук

 

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