Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

4.2.3. Альтернативные способы создания базы данных

Создание базы данных средствами восстановления, подключение файлов, мастер копирования баз данных, создание базы данных средствами SSIS

Ранее были перечислены классические способы создания баз данных: при помощи графического интерфейса и при помощи команды Create Database. Это самые простые способы, но у них есть существенный недостаток — они не позволяют создавать базы данных с изначально загруженными данными. В то же время в реальной работе обычно требуется не только создать базу данных, но и сразу загрузить в нее некоторые данные, например, информацию справочников. Для этой цели в вашем распоряжении — альтернативные способы создания баз данных:

q      восстановление с резервной копии;

q      подключение файлов существующей базы данных;

q      применение мастера копирования баз данных;

q      использование средств SSIS (пакета DTSX).

Для всех этих способов необходимо, чтобы у вас уже существовала готовая база данных-образец с загруженными данными.

Чаще всего используется первый способ — с резервным копированием и с восстановлением баз данных. Про резервное копирование и восстановление будет рассказываться в модуле 6.

Второй способ, безусловно, самый простой и надежный, однако многие администраторы и разработчики про него забывают. Поэтому расскажем о нем подробнее.

Подключение файлов существующей базы данных можно использовать в разных ситуациях: для быстрого восстановления базы данных SQL Server в случае сбоя сервера, когда сами файлы базы данных сохранились, при изменении дисковой конфигурации сервера, или, как в нашем случае, при необходимости скопировать базу данных на другой сервер. Предположим, что вам нужно скопировать вашу базу данных с тестового сервера на рабочий. Последовательность действий может выглядеть так:

1.     Первое, что вам нужно сделать — скопировать файлы базы данных с тестового сервера. Однако просто взять и скопировать их вы не можете: они открыты сервером и при попытке копирования будет выдано сообщение об ошибке. Чтобы на время закрыть эти файлы, можно использовать два способа:

·                более быстрый способ: отсоединить базу данных. Для этого в контекстном меню этой базы данных в Object Explorer выберите команду Tasks | Detach (Задачи | Отсоединить);

·                более надежный способ: выполнить команду ALTER DATABASE. Эта команда предназначена для изменения базы данных, в том числе и для изменения ее состояния. Например, чтобы перевести базу данных DB1 в автономный режим (offline), команда может выглядеть так:

ALTER DATABASE DB1 SET OFFLINE;

Другая возможность перевести базу данных в автономный режим — воспользоваться командой меню Tasks | Take offline (Задачи | Перевести в автономный режим) в SQL Server Management Studio.

База данных, которая находится в автономном режиме, будет помечена в окне Object Explorer специальной красной меткой.

2.     Скопируйте файлы базы данных в нужное вам место обычными средствами Windows. Лучше скопировать не только файлы базы данных, но и журнал транзакций. В принципе, если журнал транзакций утрачен, то его можно сгенерировать заново, но это усложнит процесс присоединения (вам придется использовать команду CREATE DATABASE ... FOR_ATTACH_REBUILD_LOG).

3.     Верните исходную базу данных в рабочее состояние. Если она была отсоедина при помощи Object Explorer, подключите ее снова. Для этого нужно воспользоваться командой Attach (Присоединить) контекстного меню контейнера Databases. Если же база данных была переведена в автономный режим (offline), то верните ее обратно в оперативный режим (online):

ALTER DATABASE DB1 SET ONLINE;

4.     Присоедините базу данных к новому серверу. Для этого в контекстном меню контейнера Databases в Object Explorer выберите команду Attach и в открывшемся окне Attach Database (Присоединение базы данных) при помощи кнопки Add выберите файл подсоединенямой базы данных (если журнал транзакций лежит в том же каталоге, он будет подключен автоматически), а затем нажмите OK. Если вам нужно подсоединить базу данных под другим именем, то вы можете ввести новое имя в столбце Attach As (Присоединить как). При помощи этого способа можно подключить базу данных к тому же серверу, на котором она находилась раньше, но уже в виде копии существующей базы данных и под другим именем.

На практике на выполнение этой операции требуется намного меньше времени, чем на чтение ее описания.

Таким же способом можно произвести обновление базы данных SQL Server 7.0 или 2000 до SQL Server 2005. Необходимо отключить базу данных от SQL Server старой версии, скопировать ее файлы и присоединить к SQL Server 2005. Обновление произойдет автоматически при присоединении.

В предыдущих версиях SQL Server для присоединения баз данных можно было использовать хранимые процедуры sp_attach_db или sp_attach_single_file_db. Они оставлены в SQL Server 2005 для обратной совместимости, но Microsoft рекомендует использовать вместо них команду CREATE DATABASE с параметром FOR_ATTACH. Хранимой процедуре, которая использовалась для отсоединения базы данных (sp_detach_db), пока ничего не угрожает.

Третий способ создания базы данных — это копирование базы данных при помощи утилиты Copy Database Wizard. Этот способ тоже очень прост. С его помощью вы можете копировать базы данных не только между серверами SQL Server 2005, но и с сервера SQL Server 2000 на SQL Server 2000 или 2005: в последнем случае обновление базы данных произойдет автоматически. Недостатком этого способа является то, что оба сервера — и исходный, и сервер-получатель — должны быть доступны по сети, поэтому скопировать базу данных в филиалы таким способом получается не всегда. Copy Database Wizard можно запустить или из контекстного меню контейнера Databases в Object Explorer (команда меню Copy Database), или при помощи командной строки операционной системы (команда CopyDatabaseWizard).

Четвертый способ — применение SSIS для создания базы данных и заполнения ее данными. Он будет рассмотрен в модуле 10.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru