. При развертывании баз данных MSDE требуется устанавливать базу данных отдельно от приложения. Правда, существует также возможность установки MSDE с использованием технологии Merge Modules, но этот вариант чаще применяется в случае с приложениями от независимых разработчиков (ISV), а не для корпоративных MSDE-приложений. SQL Server Express предусматривает три основных варианта развертывания, а именно: развертывание в “старом стиле”, т.е. раздельная установка базы данных и приложений; более новый метод развертывания “XCopy”; встроенное развертывание (embedded deployment), когда установка SQL Server Express осуществляется вместе с установкой приложения. Данный материал посвящен методу развертывания “XCopy” для SQL Server Express.

Xcopy – это утилита копирования командной строки Windows, давшая название соответствующему методу развертывания. По сути, этот метод заключается в копировании файла данных SQL Server Express (.mdf) и кода приложения в целевую систему. Приложение при запуске использует специальную командную строку для указания местонахождения файла данных и распоряжения, предписывающего SQL Server Express автоматически прикрепить этот файл при подключении приложения к базе данных. Следует помнить, что для использования метода развертывания XCopy на целевой системе должно быть уже установлено приложение SQL Server Express, и служба SQL Server должна работать. Ведь именно эта служба реагирует на информацию, указанную в строке привязки приложения. Если необходима установка приложения SQL Server, следует воспользоваться методом встроенного развертывания, либо рассмотреть возможность использования SQL Server Compact Edition.

Чтобы воспользоваться преимуществами метода развертывания XCopy, надо скопировать данные и поместить файлы в каталог, к которому SQL Server Express может иметь доступ. В строке привязки, используемой в приложении, необходимо указать ключевые слова, предписывающие SQL Server Express автоматически прикреплять базы данных. Ниже приведен пример строки привязки, использующей ключевое слово “AttachDBFileName”.

"Data Source='.SQLExpress';

Initial Catalog=; Integrated Security=true; AttachDBFileName='" |DataDirectory| + "MyDatabase.mdf'"

В данном примере параметр Data Source использует знак периода (.) для указания локального экземпляра (.SQLExpress). Однако можно также ввести значение (local). Кроме того, параметр Data Source требует указания имени экземпляра. SQLExpress – имя экземпляра, предусмотренное по умолчанию для SQL Server Express.

Далее следует параметр Initial Catalog. Initial Catalog необходимо оставить пустым. Следующий параметр – Integrated Security с значением true, значит, при подключении к этому набору данных будет использоваться аутентификация Widows. Наконец, для параметра AttachDBFileName назначается имя и путь к файлу .mdf. Параметр DataDirectory указывает относительный путь к файлу данных. Он получает значение по ходу рабочего цикла с использованием пути к месту нахождения файлов данных SQL Server Express. В большинстве случаев установки по умолчанию предусмотрен путь C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData. Затем указывается имя файла данных .mdf.

Развертывание XCopy – лишь очередной инструмент, добавляемый SQL Server Express в набор средств развертывания баз данных.

Майкл Оти, mikeo@windowsitpro.com