Напомним, что базы данных SQL Server Express поддерживают три типа развертывания: развертывание вручную с отдельной установкой базы данных и приложения; метод XCopy, когда установка базы данных выполняется путем копирования файла базы данных .mdf программой установки приложения и последующего использования ключа AttachDBFile в связывающей строке для прикрепления этого файла; встроенное развертывание (embedded deployment), когда установка SQL Server Express выполняется как часть процесса установки приложения SQL Server 2005. Обсудим третий метод развертывания SQL Server Express – встроенное развертывание.
Встроенное развертывание предполагает включение исполняемой программы установки SQL Server Express в программу установки приложения. Программа установки SQL Server Express принимает ряд параметров командной строки, позволяющих программным путем управлять процессом установки. Доставку параметров можно осуществить двумя способами: вызвать программу установки SQL Server Express и передать ей набор параметров в командной строке, либо задать все параметры в файле template.ini. Обычно редактирование файла template.ini – предпочтительный вариант, поскольку предполагает создание единственного источника, где фиксируются параметры установки.
Программа setup.exe должна извлекаться из файлов загрузки SQL Server Express. При загрузке SQL Server Express создается файл по имени sqlexpr.exe (для SQL Server Express) или sqlexpr_adv.exe (для SQL Server Express with Advanced Services). Для извлечения настроечных файлов необходимо запустить программу загрузки с параметром /X в командной строке:
sqlexpr.exe /X
Когда настроечные файлы извлечены, можно внести изменения в template.ini – обычный текстовый файл, который можно редактировать в любом стандартном текстовом редакторе. Извлеченный файл template.ini имеет незавершенную форму. Чтобы использовать его, необходимо внести изменения. Хорошая информативность файла позволяет понять, какие изменения следует сделать. Нужно внести требуемые данные по установке и превратить в комментарии всю не относящуюся к делу информацию. Элементы в угловых скобках заменяются пользовательскими данными настройки (без использования скобок). Помещение перед строкой точки с запятой превращает эту строку в комментарий. Описание всех параметров файла template.ini приведено в SQL Server Books Online (BOL), поэтому здесь мы не будем на этом останавливаться. Самый важный параметр ADDLOCAL определяет компоненты SQL Server Express, которые будут установлены. ADDLOCAL – необходимый параметр, без которого установка невозможна. Можно использовать значение ADDLOCAL=ALL. В качестве альтернативы для SQL Server Express можно указать следующие отдельные компоненты: SQL_Engine, SQL_Data_Files, SQL_Replication, Client_Components и Connectivity.
Чтобы использовать измененный файл template.ini для автоматической установки, нужно передать его как параметр программе setup.exe SQL Server Express. Потребуется включить вызов программы и настроечные файлы SQL Server Express в программу установки приложения. Приведенный ниже пример иллюстрирует использование файла template.ini для вызова setup.exe:
start /wait setup.exe /qb /settings C: emplate.ini
Как и при типовой установке SQL Server Express, для выявления ошибок настройки можно просмотреть журналы. По умолчанию предусмотрено следующее местоположение журналов настройки SQL Server Express:
C:Program FilesMicrosoft SQL Server90Setup BootstrapLOGFiles
Подробно о встроенном развертывании SQL Server Express рассказано в "Embedding SQL Server Express into Custom Applications" (http://lists.sqlmag.com/t?ctl=4E7D7:853C64DB058508A317F42CCC6DE5C731).
Майкл Оти, mikeo@windowsitpro.com