Недостатком этого подхода является то, что если разработчик будет недостаточно аккуратен, то сценарий удалит все таблицы в базе данных вместе с содержащимися в них данными. Поэтому все такие сценарии нужно удалить после переноса создаваемой системы на рабочее место. При этом, как обычно, большое значение имеет резервное копирование базы данных еще до внесения в нее каких-либо существенных изменений для восстановления в случае непредвиденных сбоев.
Для генерации сценариев создания базы данных для компании Jones Novelties Incorporated выполните перечисленные ниже действия.
1. Откройте программу SQL Server Enterprise Manager и щелкните правой кнопкой мыши на базе данных Novelty.
2. Выберите команду All Tasks→Generate SQL Script (Все задачи→Генерировать сценарий SQL) из контекстного меню для открытия диалогового окна Generate SQL Scripts.
3. Щелкните на кнопке Show All для отображения всех доступных объектов выбранной базы данных.
4. Теперь у вас есть возможность выбора одного или нескольких объектов сценария. Установите флажок Script all objects (Включить в сценарий все объекты), чтобы выбрать все объекты базы данных, как показано на рис. 3.29.
РИС. 3.29. Выбор всех объектов базы данных Novelty для включения в сценарий в диалоговом окне Generate SQL Scripts
5. Выберите вкладку Formatting (Форматирование). Помимо установленных по умолчанию флажков параметров установите флажок Include descriptive headers in the Script files (Включить описательные заголовки в файлы сценариев).
СОВЕТ
Не забудьте установить во вкладке Formatting флажок Include descriptive headers in the script files, потому что он приводит к автоматическому созданию строки заголовка с указанием времени и даты генерации сценария. Это очень полезное усовершенствование позволит вам впоследствии легко определить самую последнюю (или наиболее правильную) версию сценария.
6. Если вам нужен сценарий только для создания объектов базы данных, то на этом можно остановиться. Однако для генерации сценария создания физической базы данных нужно продолжить работу, выбрав вкладку Options (Параметры).
7. В группе параметров Security Scripting Options (Параметры сценария безопасности) установите флажок Script (Включить в сценарий базу данных). Кроме него, можно также установить флажки других параметров для пользователей базы данных, ролей и учетных записей, но здесь мы этого делать не будем, считая это отдельной задачей администрирования базы данных.
8. В группе параметров Table Scripting Options (Параметры сценария таблицы) установите флажки Script indexes (Включить в сценарий индексы), Script triggers (Включить в сценарий триггеры) и Script PRIMARY keys, FOREIGN keys, defaults, and check constraints (Включить в сценарий первичные ключи, внешние ключи, принимаемые по умолчанию значения и ограничения целостности), как показано на рис. 3.30.
РИС. 3.30. Вкладка Options диалогового окна Generate SQL Scripts
9. Щелкните на кнопке OK для запуска процесса генерации сценария. При этом на экране появится стандартное диалоговое окно Save As (Сохранить как), в котором следует ввести имя файла (с расширением .sql) и указать путь к нему. Сделайте это и щелкните на кнопке Save. После успешного создания сценария на экране появится диалоговое окно с сообщением об этом. Щелкните на кнопке OK для его удаления.
НА ЗАМЕТКУ
Созданный вами сценарий может отличаться от приведенного ниже из-за использования другого компьютера, сервера или параметров базы данных. Однако сейчас об этом не следует беспокоиться.
Приведенный далее сценарий содержит множество строк с командой GO, которая предназначена для принудительного выполнения предыдущих команд еще до перехода к следующим командам сценария. Например, довольно часто можно встретить такие блоки команд:
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
или
SET QUOTED IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
Они гарантируют корректную (временную) конфигурацию базы данных для выполнения нужной операции и переустановку параметров для выполнения следующих операций.
Далее созданный сценарий предлагается в виде отдельных фрагментов, но на практике его рекомендуется создавать и применять в виде целого файла. В таком случае после создания рабочего сценария можно вставить его текст в окно Query программы SQL Query Analyzer (либо загружая его из тестового файла, либо копируя и вставляя с помощью буфера обмена) и щелкнуть на кнопке Execute для запуска. Можно также использовать отдельные фрагменты сценария или создать на основе единого сценария несколько отдельных сценариев и выполнять каждый из них. При создании сценариев SQL с помощью программы SQL Query Analyzer отдельные команды SQL можно редактировать в диалоговом окне Query, тестировать и проверять результаты их выполнения, а затем сохранять их в файле после завершения этих операций.
Читать дальше