Перенос баз данных SQL Server 7.0 на новый сервер с помощью операций BACKUP и RESTORE

Переводы статьи Переводы статьи
Код статьи: 304692
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описан процесс восстановления баз данных для пользователей и систем другого экземпляра SQL Server 7.0, конфигурация имен жесткого диска на котором отличается от сервера, на котором была создана резервная копия баз данных. Этот метод можно применить для переноса базы данных с помощью архивирования и восстановления. Дополнительные сведения об использовании другого метода см. в следующей статье базы знаний Майкрософт:
224071 Перемещение баз данных SQL Server в новое местоположение с помощью операций Detach и Attach
Примечание. Инструкции, описанные в данной статье неприменимы к SQL Server 2000.

Невозможно восстановление баз данных SQL Server 7.0 master, model, msdb или distribution system на 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
      Примечание. SQL Server после восстановления базы данных master автоматически закрывается.
    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
      Появятся следующие сообщения, подтверждающие изменение:
      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. Восстановление базы данных model.

    В следующем примере база данных model содержит один файл данных Model.mdf и один файл журнала Modellog.ldf, из файла полной резервной копии базы данных Model_db.bak. Если отсутствует резервная копия базы данных model или если нужно использовать эту базу, установленную по умолчанию при установке SQL Server, можно перераспределить базу данных model. Эта процедура аналогична описанной для базы данных northwind и базы данных pubs в шаге 4.
    1. В SQL Server Query Analyzer выполните следующую сохраненную процедуру для отключения базы данных model от сервера SQL:
      exec sp_detach_db N'model'
      go
      После завершения сохраненной процедуры появится следующее сообщение:
      Successfully detached database 'model'
      DBCC execution completed. If DBCC printed error messages, contact your system administrator
      Примечание: Отключать базу данных 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

      Примечание. Может появится следующее сообщение, показывающее, что отсутствует доступ к физическим файлам:
      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. В 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.

    ВНИМАНИЕ! Эта процедура требуется только если нужно изменить имя экземпляра сервера SQL, на котором восстанавливается база данных master.

    Например, имя сервера SQL изменяется если:

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

ССЫЛКИ

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
224071 Перемещение баз данных SQL Server в новое местоположение с помощью операций Detach и Attach
314546 Перемещение баз данных между компьютерами с SQL Server
Примечание. Дополнительные сведения о других параметрах запуска, таких, как -c, -m, и -f, обратитесь к библиотеке SQL Server Books Online.

Свойства

Код статьи: 304692 - Последний отзыв: 15 февраля 2011 г. - Revision: 3.2
Ключевые слова: 
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