Приложения уровня данных в SQL Server 2008 R2
SQL Server: Технические статьи
*****Предложенная статья является машинным переводом оригинала, опубликованного по адресу: http://msdn.microsoft.com/en-us/library/ff381683(SQL.100).aspx *****
**
**
Авторы: Алан Брюер, Роджер Доэрти, Прашант Чоудхари, Ширииш Тота, Чарли Карсон, Омри Бахат
Техническиe рецензенты: Джен Уитсоу, С. Муралидхар, Клиффорд Диббл, Санджей Нагамангалам
Опубликовано: февраль 2010 г.
Применимо к: SQL Server 2008 R2
Резюме: Инвестиции корпорации Майкрософт в управление приложениями и несколькими экземплярами серверoв поможет уменьшить сложность, связанную с разработкой, развертыванием и управлением приложениями. Основная концепция управления приложениями и несколькими экземплярами серверoв в SQL Server — приложение уровня данных (DAC). DAC является самостоятельным модулем развёртывания, который определяет и объединяет объекты базы данных, объекты экземпляров SQL Server, которые связаны с базой данных, и требования к развертыванию приложения.
Авторские права
Это предварительный документ и может быть значительно изменён до окончательного коммерческого выпуска программного обеспечения, описанные здесь.
Информация, содержащаяся в настоящем документе представляет текущее представление корпорации Майкрософт по обсуждаемым на дату публикации. Поскольку корпорация Майкрософт должна реагировать на меняющиеся условия рынка, он не должен толковаться как обязательство корпорации Майкрософт, и корпорация Майкрософт не может гарантировать точность представленных сведений после даты публикации.
Этот документ является только в информационных целях. КОРПОРАЦИЯ МАЙКРОСОФТ НЕ ДАЕТ НИКАКИХ ГАРАНТИЙ, ЭКСПРЕСС, ПОДРАЗУМЕВАЕМЫХ ИЛИ УСТАНОВЛЕННЫХ ЗАКОНОМ, В ОТНОШЕНИИ ИНФОРМАЦИИ В НАСТОЯЩЕМ ДОКУМЕНТЕ.
Ответственность за соблюдение всех авторских прав и прав на интеллектуальную собственность целиком и полностью несет пользователь. Без ограничения авторских прав, никакая часть настоящего документа может быть воспроизведены, хранящиеся в, или в��едена в систему поиска или передана в любой форме или любыми средства��и (электронными, механическими, фотокопирование и иным образом), для любых целей без письменного разрешения корпорации Майкрософт.
Корпорация Майкрософт может иметь патенты, патентные заявки, охраняемые товарные знаки, авторские или другие права на интеллектуальную собственность применительно к содержимому этого документа. Без письменного разрешения корпорации Майкрософт данный документ не дает лицензии на эти патенты, охраняемые товарные знаки, авторские права и другую интеллектуальную собственность.
Если не указано иное, компаний, организаций, продуктов, имена домен , адреса электронной почты, логотипы, люди, места и события являются вымышленными, и никакой связи с реальными компаниями, Организации, продукта, домен имя, адрес электронной почты, логотип, лицо, место или событие предназначен или следует рассматривать как случайное.
© 2010 Microsoft Corporation. Все права защищены.
Microsoft IntelliSense, PowerShell, SQL Server, Visual Studio и Windows являются товарными знаками корпорации Майкрософт группы компаний.
Все прочие охраняемые товарные знаки являются собственностью их владельцев.
Оглавление
Знакомство с приложениями уровня данных
Уровня данных приложений (ЦАП), представленные в Microsoft ® SQL Server® 2008 R2 данных программного обеспечения для управления и системой разработки Microsoft Visual Studio ® 2010 позволяют разрабатывать, развертывать и управлять уровня данных часть их применения более эффективно, чем раньше. С помощью ЦАП, разработчиков и администраторов баз данных (DBA) можно автоматизировать и облегчить общих операций и практики жизненного цикла систем баз данных.
Что такое данных уровневое приложение?
КСР является самостоятельное подразделение развертывания, позволяющая уровня данных разработчиков и администраторов баз данных пакет SQL Server объектов, включая базы данных и экземпляр , в рамках единого сущность под названием КСР пакет. Разработчики могут построить КСР пакет , с помощью данных уровневое приложение проекта системы в Visual Studio, в то время как SQL Server управления Studio (среда SSMS) пользователи могут извлечь DAC и создания файла пакет КСР для существующей базы данных.
КСР пакет может быть развернута на экземпляр SQL Server для создания нового КСР экземпляр. КСР развертывания устанавливает новую базу данных на экземпляр, создает объекты базы данных и имена входа, сопоставленные с пользователями базы данных. Если предыдущая версия КСР уже доступен, КСР пакет может быть использован для Обновить существующий экземпляр КСР до более новой версия.
Рисунок 1: Приложения уровня данных в SQL Server 2008 R2 и Visual Studio 2010
С тем чтобы упростить управление SQL Server средах, здравоохранения ресурсов (например, CPU, дискового пространства) КСР через несколько компьютеров и экземпляры могут просматриваться в Центральный интерфейс , называемый Утилита Explorer в SQL Server Management Studio. Утилита Explorer отображает агрегированных данных и информации, что позволяет администраторам легко получить отчеты об использовании и статистики для их установки SQL Server . Кроме того, с тем чтобы настроить отчеты производительности процессора и диска пространства, администраторы баз данных можно использовать Утилита политики в области здравоохранения для настройки и управления представления, отображающие потребление ресурсов КСР.
Примечание: Целью данного документа является описание разработки, внедрения и функций КСР в жизненный цикл проектов баз данных, как показано на рисунке 1. Для получения дополнительных сведений о конфигурации SQL Server и управления ЦАП в окне утилиты см SQL Server электронной документации.
Системные требования и общие ограничения
В первоначальном выпуске уровня данных приложений в SQL Server 2008 R2 и Visual Studio 2010 предназначен для обслуживания департаментских баз данных предприятия, а также простые (также именуется как ISV) сторонних приложений. Более конкретно рекомендуется использовать приложения уровня данных для базы данных, которая имеет следующие характеристики:
· База данных должна содержать до нескольких гигабайт данных (например, до 10 ГБ). Хотя это требование не применяется строго по уровню данных приложение .NET framework, работая с более крупных баз данных может привести к оперативных задержек.
· База данных соответствует ограничения и поддержки ограничения уровня данных приложений.
· Есть никаких конкретных требований аппаратного или программного обеспечения для уровня данных пр��ложений. Однако чтобы управлять уровня данных приложений с помощью утилиты SQL Server , пользователи необходимо учитывать ограничения, налагаемые полезности и управляемые экземпляры, которые описаны в соответствующих разделах электронной документации SQL Server .
Приступая к работе
Уровень данных приложения можно использовать для работы с существующими базами данных, или они могут использоваться для реализации новых проектов и релизов. Чтобы начать работу, рекомендуется создавать приложения уровня данных из существующих систем, регистрации каждой производственной базы данных как приложение уровня данных. Затем, пользователи могут экстракт каждой базы данных для производства КСР пакет и отправить пакеты для разработчиков. Оттуда, разработчики используют Visual Studio изменения уровня данных автор, пакет их надлежащим образом и вперед обновленные КСР пакеты для производства. В свою очередь, администраторы баз данных могут Обновить производства приложения, использующие автоматические методы и инструменты, предоставляемые уровня данных приложение .NET framework.
Для новых проектов, разработчики могут создавать в Visual Studio новый проект приложения уровня данных и построить КСР па��ет для каждого приложения. Затем, пакеты направляются производства DBA для развертывания. Эти и другие действия жизненного цикла проиллюстрирован на рисунке 1.
Содействие и автоматизации жизненного цикла проектов баз данных
Разработка приложений уровня данных
Уровень данных проекта приложения в Visual Studio Professional состоит из трех ключ компонентов: объекты SQL Server , политики выбора сервера, и пользовательских сценариев (иногда упоминается как дополнительные или дополнительные файлы). Для начать и определения схемы приложения, разработчики могут импорта КСР пакет в системе проекта, или можно выбрать экземпляр SQL Server и импорта объектов из существующей базы данных. Затем пользователям создавать и изменять объекты базы данных и объектыэкземпляр SQL Server, которые связаны с базой данных. Например разработчики могут использовать встроенный дизайнеров для создания таблиц и представлений. Программирование пользователи могут использовать расширенный код, редактирование функций (таких, как технология IntelliSense ®, авто дополнение, фрагменты кода и компилятор языка Transact-SQL) для написания кода Transact-SQL для хранимых процедур, функций, пользователей и имена входа.
После составление схемы, разработчики могут создавать КСР пакет и развернуть проект на целевой экземпляр SQL Server для тестирования выпуска. С тем чтобы контролировать развертывание, КСР пакет может содержать политики выбора сервера что диктует предварительные условия на целевых экземплярах. Например политика может ограничить развертывание данных уровневое приложение к экземплярам SQL Server 2005 или более поздних версиях SQL Server. Выбор политики сервера помогает разработчикам выражать и определяют способы развертывания: каждый раз, когда развертывается КСР пакет , оценивается политика против целевого показателя убедитесь, что экземпляр соответствует требованиям приложения.
Настраиваемое развертывание действий и данных операций обработки также доступны в проекте приложения уровня данных через пользовательские сценарии. Пользователи могут предоставлять сценарии Transact-SQL и включить их в КСР пакет. В то время как система автоматически не выполнить или причине над пользовательских сценариев, пользователи могут вручную выполнять эти сценарии во время КСР развертывания или Обновить. Пользовательские сценарии являются чрезвычайно полезными для заполнения и обработки данных или выполнения автоматических действий до или после развертывания; Они также полезны для работы с объектами, которые не поддерживаются КСР (для получения дополнительной информации, смотрите ограничения КСР).
Перемещение изменений от развития производства и просмотра содержимого КСР
После того, как уровень данных приложения создается в Visual Studio и сравнить экземпляров SQL Server в среде разработки, пользователи могут упаковать содержание проекта Visual Studio и построения файла пакет КСР (с расширением .dacpac). Файл пакет можно затем направляться DBA в тест, промежуточных или производственных средах SQL Server для КСР развертывания или обновления, как показано на рисунке 1.
При получении КСР пакет от разработчиков, администраторов SQL Server Management Studio можно дважды щелкнуть и распаковать файл для просмотра содержимого пакет и просмотреть объекты и код. В свою очередь три XML-файлов и один файл SQL создаются в файловой системе, вместе с все pre/после-развертывания и настраиваемые пользователем скриптов (если таковые имеются). XML-файлы занимают определение и метаданные КСР. Файл SQL является сценарий Transact-SQL, содержащий инструкции DDL и создание для всех объектов КСР. Этот сценарий Transact-SQL выполняется во время КСР развертывания или Обнов��ть. Сценарий является чрезвычайно полезным для выполнения проверки кода, прежде чем изменения применяются в производстве; Она также может помочь сравнения КСР объектов целевой базы данных перед обновлением КСР.
Развертывание приложения уровня данных в первый раз
Говорят, что производство DBA получает КСР пакет от разработчиков для новое приложение под названием финансов. Другими словами Предположим, что финансового приложения и базы данных никогда не были установлены в производстве до. Для подготовки к развертыванию, администратор базы данных можно просмотреть объекты базы данных и кода распаковка файл пакет и открытие получившийся в результате сценарий Transact-SQL с именем Finance.sql в SQL Server Management Studio. Затем администратор выбирает целевой экземпляр SQL Server , который будет принимать у себя базу данных и объекты.
Пользователи могут развернуть КСР пакет с помощью развертывания данных уровневое приложение Мастер в SQL Server Management Studio или с помощью Windows ® PowerShell® интерфейскомандной строки. Когда развертывание инициирует, если КСР содержит политики выбора сервера, политика проверяется против целевого экземпляр [D01]. Затем, установлен КСР содержание: новую базу данных, объекты базы данных и все соответствующие сервера имена входа создаются. После создания базы данных и объекты, определение КСР (то есть, полезная нагрузка и метаданные) автоматически регистрируется и хранится в msdb системной базы данных. С этого момента КСР и его свойства отображаются в SQL Server Management Studio под узел приложения уровня данных, расположенный в узле управления целевого экземпляр в обозревателе объектов.
Рисунок 2: развертывание данных уровневое приложение под названием финансов экземпляр SQL Server с помощью SQL Server среды Management Studio
Рисунок 3: просмотра в обозревателе объектов и Подробности обозревателя объектов в среде Management Studio SQL Server уровня данных приложений
Обновление существующего уровня данных приложения
Говорят, что финансового уровня данных приложения с версия V1 (или V1 КСР в короткие) уже был развернут в производство. Кроме того Предположим, что разработчики внесла изменения в КСР V1 и построен пакет файл, содержащий более новая версия КСР (то есть, КСР V2). После того, как производство DBA получает последний файл, администратор базы данных можно обновить содержание КСР V1 V2. Прежде чем выполнять обновление, администратор базы данных может сравнения КСР пакет новой версия в базе данных, используемых КСР V1.
Чтобы обновить КСР, пользователи могут V1 КСР в обозреватель объектов в среде Management Studio SQL Server правой кнопкой мыши и выберите команду обновления данных уровневое приложение для запуска Мастер. Кроме того, пользователи могут обновить ЦАП путем ссылки на соответствующие PowerShell команды. Как и в вариант развертывания КСР если КСР V2 пакет содержит политики выбора сервера, условия политики сначала вычисляются с экземпляр. Далее, до того, как происходит обновление базы данных КСР V1 сравнивается с определение V1 КСР в msdb чтобы узнать ли какие-либо были внесены изменения в базе данных напрямую, без использования API обновления приложения уровня данных (например, путем через ручное выполнение SQL скриптов для создания объектов базы данных). Если будут обнаружены какие-либо изменения, пользователь должны признать, что эти изменения могут быть потеряны во время обновления КСР [D02].
И наконец, процесс обновления начинается: с КСР V2 схемы и объектов, а также имена входа, которые еще не существуют на экземплярсоздается новая база данных. Затем данные копируются из базы данных КСР V1 в базу данных, используемые КСР V2. Для завершения процесса обновления, КСР V1, база данных переименована, базы данных КСР V2 принимает имя исходной базы данных КСР V1, и определение КСР обновляется в msdb отражать изменения и зарегистрировать КСР V2. Чтобы проиллюстрировать этот процесс, изображение на рисунке 4 показаны действия по модернизация финансов КСР.
Рисунок 4: шаг за шагом процесс совершенствования финансового уровня данных приложения из версия V1 V2
Извлечение КСР пакет из существующей базы данных
Экстракт данных уровневое приложение Мастер в SQL Server Management Studio и соответствующий PowerShell методы позволяют разработчикам и администраторам баз данных для выбора существующей базы данных и создания файла пакет КСР (см. рис. 1), содержащий определение базы данных, объекты базы данных и все соответствующие сервера имена входа.
Экстракт КСР функции предназначены для достижения нескольких целей и предлагают решения для многочисленных сценариев в жизненного цикла приложения: С тем чтобы инициализировать в проект приложения уровня данных в Visual Studio с последней схемы производства, администратор базы данных может извлекать файл пакет из производственной базы данных и отправить файл для разработчиков. В свою очередь, разработчики импорта КСР пакет для начала работы с проекта Visual Studio. В других приложениях извлечение КСР по предварительно графику (например, с использованием SQL задание) позволяет администраторам записи схемы снимков для их SQL Server баз данных. Кроме того, КСР добыча является ключ шагом в сравнения КСР пакет с базой данных перед обновлением данных уровневое приложение.
Регистрация базы данных для создания приложений уровня данных
Если база данных не является частью данных уровневое приложение, пользователи могут создавать КСР на месте. Это делается путем регистрации в базе данных как приложение уровня данных, с помощью Мастер приложений уровня данных регистра в SQL Server Management Studio или через PowerShell. Как в вариант экстракции, процесс регистрации считывает содержимое базы данных, объектов и имена входа, и он создает определение КСР (в памяти). Затем, определение КСР записывается msdb база данных системы и новых данных уровневое приложение можно просмотреть в панели Обозреватель объектов и Подробности обозревателя объектов в среде Management Studio SQL Server , как показано на рисунке 3.
Основные преимущества регистрации базы данных как приложение уровня данных включают следующее:
· Если база данных находится на управляемых Утилита экземпляр (то есть, экземпляр SQL Server , поступил в конфигурации SQL Server ), регистрации включает функции управления утилита для уровня данных приложения и баз данных.
· После создания данных уровневое приложение будущих версий приложения могут быть автоматически обновлены с использованием КСР обновить метод и API.
Сравнение КСР пакет с базой данных
SQL Server Среде Management Studio в SQL Server 2008 R2 не предоставляет встроенные интерфейсы для сравнения баз данных и пакеты КСР. Однако пользователи могут сравнить пакеты КСР для баз данных с помощью SQL Server среды Management Studio в сочетании с общедоступными программных средств.
Говорят, что версия V1 КСР запущена в производство и что КСР пакет с версия V2 доступен для Обновить. Чтобы сравнить различия между V1 и V2 и просмотр изменений в базу данных и имена входа, пользователи могут выполнять следующие действия:
1. Установите утилита сравнения файлов любого Windows, такие как WinDiff или WinMerge.
2. Дважды щелкните файл пакет КСР V2 на компьютере SQL Server Management Studio для распаковки содержимого пакет и файлы в папку (например, папка под названием V2Folder). Найдите файл под названием DACName.sql в папке, где DACName — это имя приложения уровня данных.
3. Извлечение уровня данных приложения из базы данных, используемые V1 КСР, для создания КСР пакет.
4. Распакуйте файл пакет КСР V1, созданный на шаге 3 и записи файла пакет какую-либо папку (например, V1Folder). Найдите файл под названием DACName.sql в этой папке.
5. Используйте утилиту сравнения файлов из шага 1 для сравнения SQL-файл из шага 2 и файл из шага 4, как показано на рисунке 5.
Рисунок 5: сравнения содержимого файла пакет КСР с БД с использованием утилита сравнения файлов
Удаление уровня данных приложения
Уровень данных приложений могут быть удалены из экземпляр SQL Server , удалив КСР определение и истории записей из msdb системной базы данных, при этом оставляя нетронутым базу данных КСР на экземпляр . В результате данных уровневое приложение больше не будет отображаться в обозревателе объектов в SQL Server Management Studio. Кроме того пользователи могут выбирать для отсоединения или удаления базы данных КСР. В любом случае, имена входа не удаляется экземпляр как часть процесса удаления.
Перевод приложений уровня данных между экземплярами SQL Server
Данных уровневое приложение, которое находится на экземпляр SQL Server состоит из базы данных, имена входа, сопоставленные с пользователями базы данных и КСР определений метаданные в msdb. Сле��овательно уровня данных приложений могут быть вручную перемещены из одного экземпляр SQL Server в другую (например, от экземпляр a экземпляр B) через несколько простых шагов вручную:
1. Создайте полную резервную копию базы данных на экземпляр А, восстановление базу данных из резервной копии на экземпляр b при сохранении же имя базы данных. Затем зарегистрировать базы данных как приложения для уровня данных на экземпляр b и использования приложений уровня данных для удаления Мастер для удаления регистрации КСР и удалять базу данных от экземпляр а. Следует понимать, что журнал приложения уровня данных в msdb в экземпляр a будут потеряны во время перемещения. Кроме того если некоторые имена входа существуют на экземпляр А, но не на экземпляр B, то эти логины должны создаваться вручную. Аналогичные аргументы применимы к синхронизации значения SID для пользователей и имена входа в экземпляр b после того, как база данных восстанавливается, который представляет собой стандартный шаг в backup -восстановление процесс.
2. Отсоедините базу данных от экземпляр a и приложите его к экземпляр b и затем зарегистрировать базы данных как приложения для уровня данных на экземпляр б. Предыдущие комментарии относительно msdb истории записей, а также создание имени входа или синхронизации здесь также применять.
Шаг за шагом - уровня данных приложений в среде Management Studio SQL Server
Извлечение мастера приложений уровня данных - создание КСР пакет из базы данных
Пользователи могут работать мастер приложений уровня данных экстракт с тем чтобы создать и сохранить КСР пакет для базы данных. В этом процессе мастер получает содержимое базы данных и учетные данные, связанные с базой данных, а затем он проверяет, что данных уровневое приложение действительно может быть создан. Затем мастер записывает КСР пакет в файловой системе. Чтобы извлечь КСР пакет, выполните следующие действия:
1. Регистрация экземпляр SQL Server: В панели обозревателя объектов щелкните Connect и следуйте инструкциям в подключиться к серверу диалогового окна. Убедитесь, что имя входа, используемое для регистрации экземпляр отвечает минимальным извлечения разрешения. Кроме того, убедитесь, что экземпляр вы регистрируете соответствует SQL Serverуровня данных приложенияверсияограничения.
2. В обозревателе объектов, выберите узел экземпляр , из которого требуется извлечь уровня данных приложения и расширять ее баз данных узел.
3. Выберите базу данных для извлечения. Щелкните правой кнопкой мыши узел базы данных, выберите задачии нажмите кнопку экстракта данных уровневое приложение для запуска мастера извлечения данных уровня приложений.
4. Первый экран мастера представляет собой введение. Прочтите описание и нажмите кнопку следующей.
5. На набор свойства страница, просмотрите или измените свойства, показанные на рисунке 6 и нажмите кнопку следующей. Эти свойства отображаются в Visual Studio и в SQL Server Management Studio и используются следующим:
· Имя приложения — идентифицирует приложение. Например, если базу данных с именем FinanceDB служит финансового модуля, имя приложения следует набор финансов. Имя приложения используется при данных уровневое приложение повышен: для того чтобы обновить КСР V1 V2 КСР, должны быть идентичными именами V1 и V2.
· Версия — версия данных уровневое приложение. По умолчанию номер версия — 1.0.0.0.
· Описание - факультативным.
· Сохранить в файл пакет КСР — имя файла и путь для файла пакет КСР. Этот файл должен заканчиваться соответствующим .dacpac расширение.
** **
Рисунок 6: установка свойства пакет КСР в мастере извлечения данных уровня приложений
6. Когда проверка и странице инициирует, мастер извлекает соответствующие имена входа и объекты базы данных и проверяет, что КСР пакет могут быть созданы для базы данных. Процесс проверки гарантирует, что все объекты базы данных являются поддерживает КСР, и что все зависимые объекты доступны в базе данных. Например если представление зависит от таблица и был удален из базы данных, не могут быть извлечены КСР.
По завершении проверки все проблемы и ошибки, препятствующие созданию КСР пакет отображаются в дереве резюме. Если есть никаких вопросов (как на рисунке 7), просмотрите отчет проверки и нажмите кнопку следующей для создания и сохранения файла пакет КСР.
Рисунок 7: обзор результатов проверки и резюме в мастере приложений уровня данных экстракт
7. На построить пакет странице, пересмотреть статус построение файла пакет КСР. По завершении сборки нажмите кнопку закончить для закрытия мастера. Наконец убедитесь, что в пути, выбранного на шаге 5 был создан новый файл пакет КСР.
Извлеченный файл пакет КСР теперь можно импорта проект уровня данных приложения в Visual Studio. Кроме того, КСР пакет может быть развернуты для создания нового приложения уровня данных на экземпляр SQL Server, или для Обновить старой версия существующего уровня данных приложения.
Установка нового КСР экземпляр с помощью мастера приложений уровня данных развертывания
Мастер приложений уровня данных развертывания позволяет пользователям устанавливать КСР пакет для создания новой базы данных для приложения. Рекомендуется использовать мастер при установке приложения в первый раз. Если уровень данных приложение было установлено в прошлом, Мастер обновления приложений уровня данных следует использовать вместо этого добиваться изменения из КСР пакет в существующую базу данных.
Чтобы развернуть новое приложение уровня данных, выполните следующие инструкции:
1. Найдите файл пакет КСР, который требуется развернуть.
2. В SQL Server Management Studio в обозреватель объектов панели, выберите узел целевой экземпляр SQL Server , на котором вы хотите развернуть новое приложение уровня данных и создать новую базу данных. Убедитесь, что экземпляр соответствует SQL Serverуровня данных приложенияверсияограничения и что экземпляр зарегистрирован в обозревателе объектов под именем входа, которая удовлетворяет минимальным требуется полномочия. После того, как вы выберите экземпляр, разверните узел управления узел, щелкните правой кнопкой мыши данных уровневые приложения узел, а затем нажмите развернуть данных уровневое приложение для запуска мастера.
3. Первый экран мастера представляет собой введение. Прочтите описание и нажмите кнопку следующей.
4. На выбор пакета ��ыберите, Просмотр и перейдите к файлу, расположенному на шаге 1. Изучать и анализировать данные КСР для пакет вы выбрали (см. Рисунок 8), а затем нажмите следующий.
Рисунок 8: выбор КСР пакет в мастере развертывания данных уровня приложений
5. Если КСР пакет содержит политики выбора сервера, обзор политики откроется страница. Выбор политики сервера создается в Visual Studio, чтобы гарантировать, что целевой экземпляр SQL Server удовлетворяет определенным требованиям развертывания, которые определяются разработчиками. К примеру выбранный пакет КСР на диаграмме 9 могут быть развернуты только к экземплярам SQL Server 2005. Если все условия политики, нажмите кнопку следующей. В противном случае, результаты оценки политики можно переопределить, установив игнорировать нарушения политики флажок и нажав кнопку следующей.
Рисунок 9: результаты оценки политики выбора сервера
6. В рамках развертывания мастер создаст новую базу данных и затем заполнять базы данных иэкземпляр SQL Serverс необходимые объекты. В обновление конфигурации страницы, мастер отображает имя базы данных и путь к файлам базы данных, где будет создана новая база данных. Просмотрите параметры конфигурация базы данных, при необходимости их обновления и нажмите кнопку следующей.
Рисунок 10: обновление базы данных конфигурация перед развертыванием приложения уровня данных
7. На резюме странице, просмотрите отчет о мерах, которые будут приниматься для развертывания приложения уровня данных, а затем нажмите следующей.
Рисунок 11: обзор странице в мастере развертывания данных уровня приложений
8. На развернуть КСР странице, пересмотреть статус целого ряда мер, принятых для развертывания приложения уровня данных. Мастер выполняет следующие шаги.
1. Помечает развертывания в msdb и готовит сценарии развертывания в памяти.
2. Создает новую базу данных. Имя базы данных содержит случайный идентификатор GUID строка.
3. Создает объекты базы данных и имен входа.
4. Изменяет имя случайных базы данных имя, назначенное на шаге 7.
5. Обновления msdb для записи определения КСР и завершить развертывание.
Если процесс развертывания обнаруживает ошибки, все изменения автоматически отм��нено и откат мастером. После завершения развертывания, нажмите кнопку закончить для закрытия мастера.
Рисунок 12: финал шаги в мастере развертывания приложений уровня данных
9. В панели Обозреватель объектов разверните узел экземпляр выбранного на шаге 2 и затем обновить и расширить ее баз данных узел. Просмотрите новую базу данных, которая содержит объекты базы данных, развернутых из КСР пакет. Кроме того, под управления узел, select и обновить данных уровневые приложения узел и затем развернуть его для просмотра записи для нового уровня данных приложения.
Обновление данных уровневое приложение до более новой версия с помощью мастера
Мастер обновления приложений уровня данных позволяет пользователям обновить существующую версия КСР экземпляр до более новой версия. Например если установлен КСР экземпляр для финансового модуля с версия 1.0 в производстве, и КСР пакет , содержащий версия 2.0 обеспечивает разработчиков, применить изменения и нажать новой версияследует запускать мастер обновления приложений уровня данных.
Перед обновлением данных уровневое приложение, мы рекомендуем что вы сравнения содержимого пакет КСР 2.0 к базе КСР 1.0 для понимания отличий и изменений. После сравнения выполните следующие действия для обновления данных уровневое приложение:
1. Найдите файл пакет , содержащего новой версия данных уровневое приложение.
2. В SQL Server Management Studio на панели обозревателя объектов выберите экземпляр SQL Server , где развернута текущего уровня данных приложения. Убедитесь, что имя входа, используемое для регистрации экземпляр в обозревателе объектов имеет достаточно разрешения для обновления данных уровневое приложение. Разверните узел экземпляр , управления узел и затем разверните данных-яруса приложения узел. Щелкните правой кнопкой мыши данных уровневое приложение обновить, а затем нажмите обновления данных уровневое приложение для запуска мастера.
3. Первый экран мастера представляет собой введение. Прочтите описание и нажмите кнопку следующей.
4. На выбор пакета выберите, Просмотр и перейдите к файлу из шага 1. Просмотрите данные КСР для пакет вы выбрали (см. рис. 13) и нажмите кнопку следующей.
Для того чтобы обновить данных уровневое приложение,pplication имя в КСР пакет должно совпадать с именем приложения уровня данных приложения на SQL Server экземпляр. Имя приложения для КСР пакет может быть набор в Visual Studio. В SQL Server Management Studio можно просмотреть имя приложения из существующего уровня данных приложения в Подробности обозревателя объектов (см. диаграмму 3). Пользователи могут изменить имя приложения в SQL Server Management Studio через несколько шагов вручную, хотя это не рекомендуется.
Рисунок 13: выбор КСР пакет новой версия в мастере приложений уровня обновления данных
5. Если КСР пакет содержит политики выбора сервера, обзор политики откроется следующая страница. Эта политика в составе в Visual Studio разработчики, чтобы проверить, что целевой экземпляр SQL Server требованиям развертывания приложения. Чтобы проиллюстрировать политики выбора сервера, 14 показано КСР пакет , который только может быть развернут на экземпляры SQL Server 2005. Если будут выполнены условия политики, нажмите кнопку следующей. В противном случае результаты оценки можно переопределить, установив игнорировать нарушения политики флажок и нажав кнопку следующей.
Рисунок 14: обзора результаты оценки политики выбора сервера
6. SQL Server Среда Management Studio принимает меры, показано на рисунке 4 для обновления данных уровневых приложений в моде бок-о-бок. Эти шаги описаны подробно далее в этом разделе. Следуя примеру текущей во время обновления, создается новая база данных для хранения объектов, указанных в файле пакет КСР 2.0. Имя новой базы данных содержит произвольную строка. Затем исходной базы данных, используемые КСР 1.0 – набор в режиме только для чтения, и данные копируются из исходной базы данных в недавно созданной базе данных. И наконец, исходная база данных переименовывается, Новая база данных принимает имя исходной базы данных КСР 1.0 и определение КСР обновляется в msdb.
Процесс обновления называется бок-о-бок потому что он создает новую базу данных для объектов удерживайте КСР 2.0, которая соседствует с КСР 1.0 базы данных на тот же экземпляр SQL Server. В рамках этого процесса важно отметить, что если какие-либо изменения были внесены в базу данных КСР 1.0 за пределами уровня данных приложение .NET framework, эти изменения будут потеряны при обновлении. Такие изменения примерами сценариев SQL вручную для создания объектов в базе данных КСР 1.0 (вместо того, с помощью Visual Studio для изменения схемы, построение новых КСР пакети обновление данных уровневое приложение в SQL Server Management Studio).
С тем чтобы определить объекты, которые могут быть утеряны в процессе обновления, обнаружить изменения странице в мастере сравнивает КСР 1.0 определения в msdb базу данных, используемую КСР 1.0. Если будут обнаружены какие-либо изменения, Мастер предупреждает вас и предлагает признать возможной потери объектов. Кроме того, можно сохранить список измененных объектов для отчета в формате html, нажав сохранить отчет. Когда закончите, нажмите кнопку следующей.
Рисунок 15: сравнения изменений между определением 1.0 КСР и база данных
7. На резюме странице, просмотрите отчет о мерах, которые будут приниматься для обновления КСР и затем нажмите следующей.
Рисунок 16: просмотра краткий доклад в мастере обновления приложений уровня данных
8. На обновление КСР странице, пересмотреть статус шаги, предпринятые для обновления данных уровневое приложение. Мастер выполняет следующие шаги.
1. Проверяет разрешения пользователя и проверяет, что имя приложения соответствует между КСР 1.0 и 2.0 КСР файл пакет .
2. Знаменует собой начало процесса обновления в msdb.
3. Создает ��ценарий развертывания, который создает новую базу данных для КСР 2.0, вместе с объектами базы данных и соответствующих имен входа.
4. Создает новую базу данных для КСР 2.0. Имя базы данных содержит произвольную строка.
5. Устанавливает объекты из КСР 2.0 пакет в новую базу данных и создать все имена входа, которые уже не существуют на экземпляр.
6. Обновления msdb для обозначения развертывания КСР 2.0 и хранения КСР 2.0 определение.
7. Устанавливает базу данных, используемую КСР 1.0 в режиме только для чтения и закрывает соединения пользователя к нему.
8. Создает сценарий для копирования данных в новую базу данных, выполнив сравнение трех направлениях:
a. Сравнивает КСР 1.0 определения из msdb с исходной базой данных используется 1.0 КСР и сравнивает его с новой базы данных, содержащие объекты КСР 2.0.
b. Для каждой таблица и столбец , который существует во всех трех источников генерирует инструкцию INSERT для заполнения таблиц и столбцов в базе данных КСР 2.0 из соответствующих таблиц и столбцов в исходной базы данных КСР 1.0.
9. Отключение ограничений таблица в базе данных КСР 2.0.
10. Выполняет сценарий, содержащий все инструкции INSERT из предыдущих шагов.
11. Позволяет ограничений, которые были отключены до.
12. Устанавливает исходную базу данных КСР 1.0 для чтения/записи режим.
13. Переименовывает исходной базы данных КСР 1.0. Новое имя содержит КСР версия и произвольную строка.
14. Переименовывает новой базы данных КСР 2.0 в исходное имя базы данных, используемые КСР 1.0.
15. Обновления msdb для записи окончания обновления.
Если возникают какие-либо ошибки во время обновления, весь процесс происходит откат автоматически. После завершения обновления, нажмите кнопку закончить для закрытия мастера.
После обновления переименованный КСР 1.0 база данных остается на экземпляр. Таким образом, данные или изменений в базы данных КСР 1.0 не отменяются и можно вручную перенести базы данных КСР 2.0. Кроме того выполняемые сценарии вручную выполняется переименованный базу данных, чтобы преобразовать или иным образом манипулировать исходную базу данных и данных при необходимости.
Рисунок 17: выполнение шаги для завершения обновления приложения уровня данных
9. В панели Обозреватель объектов разверните узел экземпляр выбранного на шаге 2 и затем обновить и расширить ее баз данных узел. Навигации и просмотра базы данных КСР 2.0 и КСР 1.0. Кроме того, под управления узел, select и обновить данных уровневые приложения узел. Затем выберите обновленных данных уровневое приложение и откройте панель Подробности обозревателя объектов для проверки новой версия.
Удаление уровня данных приложения из экземпляр SQL Server
Данных уровневое приложение может быть удалено из экземпляр SQL Server с помощью мастера удаления данных уровня приложений или через PowerShell. Для использования мастера, выполните следующие действия в SQL Server Management Studio:
1. В обозревателе объектов найдите экземпляр SQL Server , содержащий приложение уровня данных, которые вы хотите удалить. Убедитесь, что имя входа, используемое для регистрации экземпляр имеет достаточно разрешения для удаления данных уровневое приложение. Разверните узел экземпляр , управления узел и данных уровневые приложения узел под ним. Выберите приложение уровня данных для удаления, щелкните его правой кнопкой и нажмите кнопку удалить приложение уровня данных.
2. На первом экране мастера представляет собой введение, который описывает мастера. Прочитать его, а затем нажмите следующей.
3. На выбрать метод странице, выберите один из трех методов для удаления данных уровневое приложение:
· Удалите данные регистрации— Удаляет определение КСР от msdb без внесения изменений в базу данных или имен входа. После определения КСР удаляется, данных уровневое приложение больше не существует на экземпляр и не появляется в SQL Server Management Studio.
· Отсоединение базы данных— отсоединяет базу данных от экземпляр , а затем удаляет определение КСР с msdb. Имена входа, которые связаны с базой данных не изменяются.
· Удаление базы данных— удаляет базу данных, используемую приложением уровня данных от экземпляр, а затем удаляет определение КСР с msdb. Как и раньше, все логины остаются неизменными.
** **
Рисунок 18: выбор метод , чтобы удалить уровень данных приложения из экземпляр
** **
4. На резюме странице, просмотрите отчет о мерах, которые будут приниматься для удаления КСР и затем нажмите следующей.
5. На удалить КСР странице, пересмотреть статус целого ряда мер, принятых для удаления данных уровневое приложение и нажмите кнопку закончить для закрытия мастера.
6. В панели Обозреватель объектов нажмите кнопку данных уровневые приложения узел и обновить ее, чтобы убедиться, что запись приложения уровня данных была удалена. Если вы выбрали второй или третий параметры на шаге 3, нажмите кнопку баз данных узле экземпляр SQL Server и обновить, чтобы убедиться, что база данных используется КСР был удален.
Зарегистрировать базу данных как приложение уровня данных
Данных уровневое приложение состоит из базы данных, объекты базы данных, имена входа, сопоставленные пользователи базы данных и определения КСР в msdb. Чтобы создать уровень данных приложения на месте из существующей базы данны��, определение КСР должны регистрироваться в msdb. Для этой цели, мастер приложений уровня данных регистра позволяет пользователям для заполнения msdb с необходимых метаданные и создать КСР для данной базы данных.
Используйте следующие шаги для регистрации данных уровневое приложение в среде Management Studio SQL Server :
1. Обратитесь к панели обозревателя объектов и выберите экземпляр SQL Server с базой данных для регистрации. Убедитесь, что имя входа, используемое для подключения к экземпляр в обозревателе объектов имеет достаточно разрешения для регистрации данных уровневое приложение. Разверните узел экземпляр , баз данных узел и выберите База данных. Щелкните правой кнопкой мыши узел базы данных и нажмите кнопку задачи и нажмите кнопку зарегистрироваться в качестве данных уровневое приложение для запуска мастера.
2. Первый экран мастера представляет собой введение. Прочтите описание и нажмите кнопку следующей.
3. На набор свойства страница, просмотрите или измените свойства, показанные на рисунке 19 и нажмите кнопку следующей. Эти свойства отображаются в Visual Studio и в SQL Server Management Studio и используются следующим:
· Имя приложения — идентифицирует приложение. Например, если базу данных с именем FinanceDB служит финансового модуля, имя приложения следует набор финансов. Имя приложения используется приложение уровня данных является повышен: для того чтобы обновить КСР V1 V2 КСР версия, имя приложения КСР V1 и V2 КСР должны быть идентичными.
· Версия — версия данных уровневое приложение. По умолчанию номер версия — 1.0.0.0.
· Описание - факультативным.
Рисунок 19: указание свойств перед регистрацией данных уровневое приложение
4. Проверки и резюме страница извлекает содержимое базы данных, проверки зависимостей между объектами базы данных и гарантирует, что все объекты базы данных поддерживаются в данных уровневое приложение. Процесс проверки и содержание резюме страницы аналогичны для данных уровневое приложение экстракции процесса. Прочитайте краткий доклад и нажмите кнопку следующей.
5. На зарегистрировать КСР странице, пересмотреть статус регистрации уровня данных приложения. Когда регистрация завершена, нажмите кнопку закончить для закрытия мастера.
6. Убедитесь, что данные уровневое приложение зарегистрировано в обозревателе объектов путем расширения управления узел для экземпляр и затем данных уровневые приложения узел под ним. Выберите новое приложение уровня данных и просмотреть его свойства на панели Подробности обозревателя объектов.
** **
** **
Распаковка КСР пакеты для просмотра пакет содержание и развертывания сценария
Распаковать функциональность предоставляется пользователям просматривать содержимое КСР пакет и создать сценарий Transact-SQL, который соответствует развертывания или обновления данных уровневое приложение. В целом настоятельно рекомендуется использовать функцию распаковки перед развертыванием или обновлением КСР пакет в производстве, для обзора положений кодекса и сравнения или определения изменений.
Выполните следующие действия для распаковки КСР пакет:
1. Убедитесь, что на компьютере установлены средства клиент для SQL Server 2008 R2.
2. Найдите файл пакет КСР (с расширением .dacpac).
3. Дважды щелкните КСР пакет. В качестве альтернативы, щелкните правой кнопкой мыши КСР пакет и нажмите кнопку распаковки, как показано на рисунке 20.
Рисунок 20: выбрав распаковки из контекстного меню файла пакет КСР
4. В Файл пакета КСР распаковки Microsoft SQL Server диалоговое окно, укажите папку, в который производится запись файлов КСР.
Рисунок 21: выбор папки для записи содержимого пакет КСР
5. Нажмите кнопку распаковки для записи файлов пакет КСР и сценарий развертывания в файловой системе.
6. Просмотрите файлы. Сценарий развертывания называется DACName.sql, где DACName — имя приложения уровня данных, взятых из файла пакет .
Изменение имени приложения или версия развернутых данных уровневое приложение
Имя приложения для приложения уровня данных можно набор в нескольких местах на протяжении всего жизненного цикла проекта базы данных. В следующем списке описываются эти места и где жизненного цикла они появляются:
1. Извлечение данных уровневое приложение принимает имя приложения ввода данных пользователем, перед тем, как создается файл пакет КСР. Имя приложения будет затем внедрен в КСР пакет.
2. В Visual Studio имя приложения можно набор в настройках проекта приложения уровня данных.
3. При развертывании приложения уровня данных, имя приложения берется из файла пакет КСР и записывается в msdb.
4. Если пользователь регистрирует базы данных как приложение уровня данных, пользователь должен ввести имя приложения, которое затем заносится в msdb.
Имя приложения можно просмотреть в панели подробностей обозревателя объектов в среде Management Studio SQL Server , когда вы выбираете данных уровневые приложения узел в обозревателе объектов для данного экземпляр SQL Server. Кроме того, имя приложения играет роль ключ в процесс обновления приложения уровн�� данных: A КСР пакет , содержащий более новой версия данных уровневое приложение может использоваться для обновления более старой версия , только если имя приложения идентичны в обеих версиях.
Не рекомендуется изменять имя приложения. Вместо этого разработчики и администраторы баз данных следует набор имя приложения, надлежащим образом с помощью инструментов, предоставляемых средой. Однако если это абсолютно необходимо, пользователи могут изменять имя приложения для развертывания (или зарегистрированных) данных уровневое приложение следующим образом:
1. Определите приложение уровня данных, которая будет изменена. Кроме того Определите базу данных, используемую приложением уровня данных.
2. В SQL Server Management Studio, в обозревателе объектов найдите и выберите узел приложения уровня данных из шага 1, щелкните его правой кнопкой и нажмите кнопку удаление данных уровневое приложение. Использование уровня данных приложения мастер удаления для удалить регистрации от msdb: В выбрать метод странице мастера, нажмите кнопку удалить регистрациии завершите работу мастера.
3. В обозревателе объектов найдите и выберите узел базы данных из шага 1, щелкните его правой кнопкой мыши, выберите пункт задачи и нажмите кнопку зарегистрироваться в качестве данных уровневое приложение. Пройти через регистрации процесс данных уровневое приложение и введите название правильного применения в свойства набора страницы.
Те же действия можно использовать для обновления версия ранее развернутых (или зарегистрированных) данных уровневое приложение. Однако, важно отметить, что каждый раз, когда определение КСР удаляется из msdb, истории действий, связанных с приложением уровня данных также удаляется из экземпляр. Таким образом в целом, она не рекомендуется изменять имя приложения или версия.
Сравнение пакетов КСР для базы данныхs
Инструменты, предоставляемые уровня данных приложение .NET framework в SQL Server 2008 R2 позволяют пользователям сравнивать КСР пакет с базой данных, или сравнения двух баз данных или КСР пакеты для поиска различий. Сравнение может быть достигнуто с помощью простого текстового разностным и сравнение инструментов например WinDiff или WinMerge.
Сравните КСР пакет с базой данных
Следующие шаги позволяют пользователям сравнивать КСР пакет под названием Finance.dacpac к базе данных с именем FinanceDB.
1. Распакуйте файла пакет КСР Finance.dacpac. Найдите сценарий развертывания Finance.sql.
2. Извлечение данных уровневое приложение от FinanceDB базы данных, а затем создать КСР пакет под названием Finance1.dacpac.
3. Распакуйте файл пакет КСР, созданный на шаге 2. Найдите распакованный файл SQL.
4. Используя разностные текст средство, сравните сценарии SQL, созданные в шаг 1 и шаг 3.
Аналогичные шаги могут выполняться для сравнения двух баз данных или КСР пакеты.
Сравнение двух пакетов КСР
Чтобы сравнить два пакета КСР (например, Finance.dacpac и Payroll.dacpac), выполните следующие действия:
1. Распакуйте файла пакет КСР Finance.dacpac. Найдите сценарий развертывания Finance.sql.
2. Распакуйте Payroll.dacpac и найти скрипт Payroll.sql.
3. Используйте разностные текст средство для сравнения SQL скрипты от шаги 1 и 2.
Сравнение баз данных
Текущие сопоставления концепции и методы могут применяться к сравнивать содержание двух баз данных (например, FinanceDB и PayrollDB баз данных):
1. Извлечение данных уровневое приложение от FinanceDB базы данных, а затем создать КСР пакет под названием Finance.dacpac.
2. Распакуйте файла пакет КСР Finance.dacpac. Найдите сценарий развертывания Finance.sql.
3. Извлечение данных уровневое приложение из PayrollDB базы данных, а затем создать КСР пакет под названием Payroll.dacpac.
4. Распакуйте Payroll.dacpac, а затем найдите сценарий Payroll.sql.
5. Используйте разностные текст средство для сравнения сценариев SQL, полученные в шаге 2 и 4.
Перемещение приложений уровня данных между экземплярами
Данных уровневое приложение можно перемещать между экземплярами SQL Server через несколько шагов вручную. Например, можно переместить данные уровневое приложение путем создания полной резервной копии базы данных, используемых приложением уровня данных, восстановление резервной копии на другой экземпляр, а затем регистрации восстановленной базы данных как приложение уровня данных. В качестве альтернативы базы данных можно отсоединить от первой экземпляр , а затем присоединяется к второй. Этот раздел описывает как использоватьметодрезервного копирования и восстановление.
Следующие шаги демонстрируют, как перенести приложение уровня данных между двумя компьютерами, используя команды резервного копирования и восстановление :
1. Создайте полную резервную копию базы данных приложения уровня данных. Это можно сделать, выполнив следующий сценарий Transact-SQL с экземпляр SQL Server с базой данных. В этом примере предположим, что имя базы данных — FinanceDB и что файлы резервных копий данных и журналов создаются в папке под названием C:\temp\
Резервного КОПИРОВАНИЯ базы данных FinanceDB
ДИСК = 'C:\temp\FinanceDB.bak'
GO
Резервное копирование журнал FinanceDB
ДИСК = 'C:\temp\FinanceDB.log'
GO
2. Копирование файлов резервных копий на требуемый компьютер. В данном примере предполагается, что файлы скопированы в папку с именем C:\share\ на целевом компьютере.
3. Восстановите резервную копию и журнала транзакций в экземпляр SQL Server на целевом компьютере. Например используйте следующий сценарий, чтобы восстановление базу данных при перемещении файлов данных и журналов в главной папке данных, используется экземпляр.
Восстановление базы данных FinanceDB
С диска = 'C:\Share\FinanceDB.bak' С WITH NORECOVERY,
Перемещение 'financedb_data' для 'Каталог C:\Program файлы\Microsoft SQL Server\MSSQL10_50.MyInstanceName\MSSQL\DATA\FinanceDB.mdf',
Перемещение 'financedb_log' для 'Каталог C:\Program файлы\Microsoft SQL Server\MSSQL10_50.MyInstnceName\MSSQL\DATA\FinanceDB.ldf';
GO
ВОССТАНОВИТЬ журнал FinanceDB
С диска = 'C:\Share\FinanceDB.ldf'
GO
4. Убедитесь, что все пользователи в восстановленной базе данных сопоставляются надлежащим образом к именам входа в SQL Server экземпляр.
5. Используйте мастер приложений уровня данных регистра для зарегистрировать и создание данных уровневое приложение из восстановленной базы данных.
6. Используйте мастер приложений уровня данных Delete для Удаление данных уровневое приложение из первого экземпляр SQL Server.
Важно отметить, что записи журнала для уровня данных приложения хранятся в msdb. Перемещение данных уровневое приложение, с помощью метода резервного копирования и восстановление (или присоединение и отсоединение техника) не ведет записи журнала.
** **
С помощью PowerShell для работы с приложениями уровня данных
PowerShell позволяет пользователям писать сценарии и автоматизировать операции в жизненном цикле приложения уровня данных, как показано в настоящей главе через простые примеры. Кроме того, образцы передовых кода могут быть найдены на хостинг Microsoft project и открытым источник кодом веб-сайт на http://www.codeplex.com.
Извлечение КСР пакет из существующей базы данных
Следующая процедура создает КСР пакет из существующей базы данных с помощью PowerShell:
1. В Обозреватель объектов, запустите программу SQLPS PowerShell, щелкнув правой кнопкой мыши экземпляр SQL Server , содержащий базу данных и нажмите кнопку Запуск PowerShell.
2. Создайте экземпляр объекта сервера и присвоить ему значение текущего экземпляр , выполнив следующие действия.
$srv = get -элемент .
3. Установите параметры для извлечения, выполнив следующие инструкции. Уровень данных приложения извлекается из базы данных под названием FinanceDB, который служит финансового модуля; версия — 1.0.0.0; и КСР пакет создается на C:\temp\Finance.dacpac.
$dbname = «financedb»
$applicationname = «Финансы»
$версия = "1.0.0.0"
$dacpacPath = «C:\temp\Finance.dacpac»
Описание $ = «Это КСР используется для финансового модуля»
4. Извлечение данных уровневое приложение и создать файл пакет КСР, выполнив следующие действия.
$extractionunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $версия)
$extractionunit.Описание = $Описание
$extractionunit.Extract($dacpacPath)
Регистрация и создание приложения типа уровня данных для существующей базы данных
Вы можете зарегистрировать базу данных как приложения для уровня данных на экземпляр SQL Server с помощью PowerShell. Следующие шаги демонстрируют, как это сделать:
1. В Обозреватель объектов, запустите программу SQLPS PowerShell, щелкнув правой кнопкой мыши экземпляр SQL Server , содержащий базу данных и нажмите кнопку Запуск PowerShell.
2. Создание сервера объект и набор его на текущий экземпляр SQL Server , выполнив следующее.
$srv = get -элемент .
3. Установите параметры для регистрации приложения уровня данных, выполнив следующие инструкции. Имя базы данных для регистрации FinanceDB, имя приложения для данных уровневое приложение такое финансирование, и в версия 1.0.0.0.
$databasename = «financedb»
$applicationname = «Финансы»
$версия = "1.0.0.0"
Описание $ = «Это КСР для финансового модуля»
4. Извлечение данных уровневое приложение и создать файл пакет КСР, выполнив следующие действия.
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $databasename, $applicationname, $версия)
$registerunit.Описание = $Описание
$registerunit.Register()
** **
Развертывание новых приложений уровня данных
Пользователи могут выполнять следующие инструкции для развертывания приложения уровня данных в первый раз через PowerShell, от КСР пакет экземпляр SQL Server. Для получения дополнительных сведений о процессе развертывания, см. Обзор и описание развертывания Мастер.
1. В Обозреватель объектов, запустите программу SQLPS PowerShell, щелкнув правой кнопкой мыши экземпляр SQL Server , где требуется развернуть приложение уровня данных и выбрав Запуск PowerShell.
2. Создание сервера объект и набор его на текущий экземпляр SQL Server , выполнив следующее.
$srv = get -элемент .
3. Создайте подключение к вашей SQL Server экземпляр и подключиться к хранилищу КСР, выполнив следующие действия.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection
($srv.ConnectionContext.SqlConnectionObject)
$serverconnection.Connect()
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
4. Загрузите КСР пакет из файла, выполнив следующий набор операторов. В этом примере загружается файл Finance.dacpac формируют папку C:\temp\
$dacpacPath = «C:\temp\Finance.dacpac»
$fileStream = [System.IO.File]::Open ($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
5. Подписаться на события развертывания приложения уровня данных, выполнив следующие действия.
$dacstore.add_DacActionStarted ({write-Host ' n'nStarting на $(get-date):: $_.Описание})
$dacstore.add_DacActionFinished ({write-Host, завершено на $(get-date):: $_.Описание})
6. Замените соответствующие значения для развертывания параметров в следующих инструкциях и затем выполните инструкции, чтобы развернуть приложение уровня данных. Здесь $dacName содержит имя приложения уровня данных (который является также имя базы ��анных, который будет создан для хранения объектов приложения уровня данных), $evaluateTSPolicy является переменной Boolean, который инструктирует процесс развертывания, следует ли игнорировать нарушения политики выбора сервера (если политика существует и нарушений).
$dacName = «financedb»
$evaluateTSPolicy = $true
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)
$dacstore.Установить ($dacType, $deployProperties, $evaluateTSPolicy)
$fileStream.Close()
Обновление данных уровневое приложение до более новой версия
Инструкции в этом разделе описывается обновление существующего уровня данных приложения (например, КСР V1) до новой версия (например, КСР V2) с помощью PowerShell. Для получения дополнительных сведений о процессе обновления, см. Обзор секции и Описание обновления данных уровневое приложение Масте��.
Следующий пример обновляет финансового уровня данных приложения из версия V1 до версия V2. Здесь, предположим, что V1 данных уровневое приложение была развернута ранее через наброски шаги развертывания в предыдущем раздел.
1. В Обозреватель объектов, запустите программу SQLPS PowerShell щелкнув правой кнопкой мыши экземпляр SQL Server , содержащий существующую версия уровня данных приложения, которое будет повышен (то есть, где КСР V1 запущен) и выбрав Запуск PowerShell.
2. Создание сервера объект и набор его на текущий экземпляр SQL Server , выполнив следующее.
$srv = get -элемент .
3. Создайте подключение к вашей SQL Server экземпляр и подключиться к хранилищу КСР, выполнив следующие действия.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection
($srv.ConnectionContext.SqlConnectionObject)
$serverconnection.Connect()
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
4. Подписаться на события хранилища КСР, выполнив следующие действия:
$dacstore.add_DacActionStarted ({write-Host ' n'nStarting на $(get-date):: $_.Описание})
$dacstore.add_DacActionFinished ({write-Host, завершено на $(get-date):: $_.Описание})
5. Загрузите КСР V2, выполнив следующие инструкции. В этом примере файл пакет КСР V2 называется FinanceV2.dacpac и располагается в папке C:\temp\
$v2dac = «C:\temp\FinanceV2.dacpac»
$fileStream = [System.IO.File]::Open ($v2dac, [System.IO.FileMode]::OpenOrCreate)
$v2type = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
6. Установите параметры обновления. Здесь, $dacNameToUpgrade — это имя существующего уровня данных приложения (и имя базы данных, которая будет обновлена), $evaluateTSPolicy является логическое значение, которое указывает процесс обновления должны быть проигнорированы результаты политики выбора сервера и $ignoreDriftOption является значение типа Boolean, которое позволяет признать тот факт, что если любые изменения были внесены в базу данных приложения уровня данных за пределами уровня данных приложение .NET framework, такие изменения могут быть потеряны во время процесса обновления (для получения дополнительных сведений см. обновления данных уровневое приложение Мастер секции).
$dacNameToUpgrade = «financedb»
$evaluateTSPolicy = $true
$ignoreDriftOption = $true
7. Обновление приложения уровня данных, выполнив следующие действия.
Параметры $ = New-Object Microsoft.SqlServer.Management.Dac.DacUpgradeOptions($evaluateTSPolicy, $ignoreDriftOption)
$dacstore.Обновление ($$ dacNameToUpgrade, $v2type,$ варианты)
$fileStream.Close()
Удаление уровня данных приложения
Подробно описывается процедура удаление уровня данных приложения из экземпляр SQL Server Обзор разделе настоящего документа. Дополнительная информация доступна также в раздел, описывающий удаление данных уровневое приложение Мастер.
Следующие операторы PowerShell можно запустить для удаления данных уровневое приложение:
1. В Обозреватель объектов, запустите программу SQLPS PowerShell, щелкнув правой кнопкой мыши экземпляр SQL Server , содержащий приложение уровня данных, которая будет удалена и выбрав Запуск PowerShell.
2. Создание сервера объект и набор его на текущий экземпляр SQL Server , выполнив следующее.
$srv = get -элемент .
3. Инициировать подключение на экземпляр SQL Server и в хранилище КСР и подписаться на события, выполнив следующие действия.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
$serverconnection.Connect()
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
$dacstore.add_DacActionStarted ({write-Host ' n'nStarting на $(get-date):: $_.Описание})
$dacstore.add_DacActionFinished ({write-Host, завершено на $(get-date):: $_.Описание})
4. Задайте имя для уровня данных приложения, которые будут удалены. В этом примере данных уровневое приложение и база данных называются FinanceDB.
$dacName = «financedb»
5. Удалите приложение уровня данных, выполнив одно из следующих трех наборов действий (для получения дополнительных сведений см. Удаление данных уровневое приложение Мастер секции).
· Удалите приложение уровня данных путем удаления определения КСР из msdb.
$dacstore.Unmanage($dacName)
· Удалите определение КСР от msdb и отсоединить базу данных, используемую приложением уровня данных.
$dacstore.Удаление ($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
· Удалите определение КСР от msdb и удалить базу данных, используемую приложением уровня данных.
$dacstore.Удаление ($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
Разработка и тестирование уровня данных приложений в Visual Studio 2010
Введение
Microsoft Visual Studio 2010 предоставляет несколько проектов баз данных и шаблоны, которые позволяют пользователям разрабатывать данных часть их применение в Visual Studio Professional, премиум Visual Studio и Visual Studio конечной издания:
База данных проекта: шаблоны проектов базы данных доступны для SQL Server 2005 и SQL Server 2008. Эти шаблоны можно использовать для определения базы данных для mission-critical и критически важных бизнес-приложений. Все объекты, осуществляемого соответствующего SQL Server версия поддерживаются в проектах баз данных.
Проект сервера: сервер шаблоны проектов доступны для SQL Server 2005 и SQL Server 2008. Эти шаблоны можно использовать для определения объектов на уровень сервера, а также изменения на SQL Server Мастер базы данных. Примерами объектовуровень сервера - являются именами входа и пользовательские сообщения об ошибках.
Данных уровневое приложение: являются полезными для исполнителей департаментские приложения проектов приложений (DAC) уровня данных (или других простых приложений), следить за поддержки КСР и ограничения руководящие принципы. С новой системой проекта приложения уровня данных объекты базы данных и сервера автор разработчиков для их применения, объявить их развертывания намерения и затем построения и пакет их выброса в файл пакет КСР. После того, как она доступна, КСР пакет может передаваться DBA в тестовой или рабочей среде. Таким образом КСР пакет работает как единый блок развертывание на протяжении жизненного цикла разработки, испытания и производства приложения.
В дополнение к эти проекты и шаблоны Visual Studio 2010 вводит более богатые возможности разработки и опыт, включая новый редактор Transact-SQL и отладчик, online и offline IntelliSense, позволяет пользователям писать код быстрее, независимо от того, подключен ли окно редактора к основной базе данных, расширение языкового обслуживания, политики дизайнер и службы построения Transact-SQL и статического анализа кода. Для получения дополнительных сведений об этих новых возможностях развития см SQL Server электронной документации и онлайновые учебные материалы.
Создание и инициализация данных уровневое приложение
Чтобы начать использовать уровень данных приложений в Visual Studio 2010, разработчикам необходимо сначала создать новый проект уровня данных приложения. После того, как проект доступен, пользователи могут автор новые объекты базы данных и сервера. В качестве альтернативы чтобы инициализировать проект с существующей схемой, разработчики могут использовать один из двух методов для заполнения проект с объектами базы данных и сервера для существующих баз данных и приложений. Более явно пользователи могут импортировать приложения уровня данных из существующей базы данных, или они могут загрузить объекты схемы из файла пакет КСР. Создание проекта и шаги для импорта объектов, подробно здесь:
Создайте новый проект приложения уровня данных. В Visual Studio, нажмите файл, нажмите кнопку новойи нажмите кнопку проекта. Под Установленные шаблоны, разверните узел база данных узел, а затем нажмите SQL Server узел. В области шаблон, нажмите кнопку SQL Server уровня данных приложения. Затем введите имя проекта, расположение и имя решения в соответствующие текстовые поля в нижней части формы. Чтобы использовать систему управления источник кода базы данных, выберите управления источник добавить флажок. После того, как введены все настройки, нажмите кнопку OK для создания проекта.
Рисунок 22: при выборе шаблона проекта приложения уровня данных
Изучение уровня данных проекта. В Solution Explorer панели в Visual Studio, найти и browse через следующие узлы и типы объектов:
· Свойства: содержит значения свойство , которые позволяют пользователям контролировать, как выполняется развертывание проекта.
· Планы создания данных: содержит сведения о том, как создать реалистичный и представительных тестовых данных для базы данных и экземпляр SQL Server , где будут развернуты КСР.
· Схема сопоставления: содержит информацию о конкретных сравнение между вашего проекта и другой схеме.
· Объекты схемы: содержит базы данных и объектыэкземпляр SQL Server, которые хранятся в SQL файлов. Для большинства объектов один файл используется для хранения одного объекта в папке проекта.
· Сценарии: содержит сценарии, выполняемые перед развертыванием и, в дополнение к сценариям, которые можно использовать для управления вашей базы данных или сервера. При построении проекта, эти скрипты включены в файле пакет КСР.
Рисунок 23: изучения узлы проекта приложения уровня данных
Инициализируйте проект. Существует несколько способов для заполнения объектов и код в системе проекта. Можно импортировать объектов из существующей базы данных, импорта объектов из файла пакет КСР или импортировать отдельные сценарии Transact-SQL, содержащий код базы данных:
· Для импорта объектов из базы данных, выполните следующие действия. Здесь важно отметить, что объекты могут быть импортированы из базы данных только, один раз для инициализации объектов проекта.
Ø Откройте мастер приложений уровня данных. Щелкните правой кнопкой мыши узел проекта и нажмите кнопку импорта данных уровневое приложение.
Рисунок 24: параметр импорта для загрузки объектов в проект приложения уровня данных
Ø В Добро страница мастера, прочитайте инструкции и нажмите кнопку следующей.
Ø В Задать параметры импорта выберите, импорта из существующего экземпляр SQL Server. Затем, введите значение в ** строкаподключения** SQL Serverэкземпляр, или нажмите кнопку редактировать для настройки подключения. После этого выберите базы данных из имя базы данных списка. Когда закончите, нажмите кнопку следующей.
Ø Резюме страница перечисляет все объекты базы данных, которые поддерживаются КСР. Если какие-либо объекты не поддерживаются, импорт не может быть выполнена успешно. Если поддерживаются все объекты, нажмите кнопку следующей.
Ø Импорт объектов страницы отслеживает прогресс, пока мастер создает сценарии SQL для базы данных объектов и загружает их в проект. Когда страница будет завершена, нажмите закончить для закрытия мастера.
· Объекты могут быть импортированы из КСР пакет после того, как файл пакет доступен (например, после извлечения файла пакет КСР для существующей системы в производство с использованием мастера приложений уровня данных выдержки в SQL Server Management Studio). Импорт из КСР пакет может быть сделано только один раз, чтобы инициализировать новый проект приложения уровня данных, как описано в следующей инструкции:
Ø Запуск мастера приложений уровня данных импорта, как показано на рисунке 24. Щелкните правой кнопкой мыши узел проекта и нажмите кнопку импорта данных уровневое приложение.
Ø Прочитайте инструкции в Добро странице, а затем нажмите следующей.
Ø В Задать параметры импорта выберите, импорта из уровня данных приложения пакет и нажмите кнопку просматривать для выбора файла пакет КСР. Когда закончите, нажмите кнопку следующей.
Ø Резюме на странице отображается список объектов базы данных в КСР пакет. Просмотрите список объектов и нажмите кнопку следующей.
Ø Импорт объектов страницы отслеживает прогресс как мастер создает сценарии SQL для базы данных объектов и загружает их в проект. Нажмите кнопку закончить для закрытия мастера после завершения страницы.
· Вы можете импортировать объекты из сценариев SQL для инициализации проекта приложения уровня данных, или вы можете загрузить сценарии после инициализации проекта (путем загрузки объектов из КСР пакет, например). Чтобы загрузить объекты с помощью сценария, выполните следующие инструкции:
Ø Запуск мастера файл сценария SQL импорта, щелкнув правой кнопкой мыши узел проекта и нажмите кнопку Импорта сценарий.
Ø Прочитайте инструкции в Добро странице, а затем нажмите следующей.
Ø В Выбрать файл выберите, Просмотр для выбора одного или нескольких файлов SQL для загрузки в проект. Когда закончите, нажмите кнопку следующей.
Ø Задать параметры страница позволяет выбрать способ импорта объектов. Если сценарий SQL, который содержит объекты, которые уже являются частью проекта, выберите Перезапись объектов, которые уже существуют в рамках проекта флажок, чтобы перезаписать объекты проекта. Чтобы включить расширенные свойства и разрешения на объекты из сценария SQL, выберите импорта расширенные свойства и разрешения импорта флажки, соответственно. Кроме того, можно использовать элементы в Кодировка список для задания кодировки метод , который использовался для создания сценария SQL. Когда закончите, нажмите кнопку закончить для обработки сценария.
Ø В резюме страницы, Просмотр журнала действий и детали мастера и нажмите кнопку закончить для закрытия мастера.
После того, как был создан проект приложения уровня данных, пользователи могут добавлять объекты базы данных SQL Server , а также объекты экземпляр (например, имен входа) в проект. Объекты могут быть добавлены с помощью встроенных шаблонов, или путем написания кода Transact-SQL непосредственно в редакторе, без использования шаблонов. В этом разделе рассматриваются несколько примеров добавления различных объектов, а именно добавление таблицы, представления и хранимые процедуры.
Добавление таблиц в проекте приложения уровня данных
Чтобы увидеть, каким образом таблицы могут добавляться в системе проекта, в качестве примера можно привести следующие таблицы. Здесь Предположим, что обе таблицы принадлежат схеме dbo. Первой таблица, который называется продукта, имеет ограничение PRIMARY ключ на ProductID столбец. Вторая таблица, ProductPhoto, имеет ограничение PRIMARY ключ на комбинации значений столбцов ProductID и ProductPhtoID, и таблица имеет связь внешнего ключ с продукта таблица.
Рисунок 25: таблицы для добавления проекта системы
** **
Чтобы добавить таблицы на рисунке 25 в системе проекта, выполните следующие инструкции:
1. В Solution Explorer, щелкните правой кнопкой мыши таблицы узел, расположенный под Схемы Objects\Schemas\dbo папки для проекта, выберите Добавитьи нажмите кнопку таблицы.
Рисунок 26: Добавление объекта таблица в проект
2. В Добавить новый элемент диалоговое окно, набор имя таблица для продуктаи нажмите кнопку Добавить. Продукт.таблицаSQL-файл добавляется в проект и затем открыт в редакторе Transact-SQL.
Рисунок 27: добавление таблица в проект с помощью шаблона
3. В редакторе замените код шаблона в файле продукта.таблица.sql, с помощью следующего кода Transact-SQL, а затем сохраните файл и изменений.
CREATE TABLE [dbo].[Product] (
[ID] [INT] IDENTITY(1,1) NOT NULL,
[Имя] [NVARCHAR](50) NOT NULL,
[ListPrice] [ДЕНЬГИ] NOT NULL,
[Размер] [NVARCHAR](5) NULL,
ОГРАНИЧЕНИЕ [PK_Product_ProductID] первичной ключ КЛАСТЕРНОГО ()
[ID] ASC)
4. Повторите шаги 1 и 2 для создания таблица ProductPhoto.
5. Повторите шаг 3 для таблица ProductPhoto и замените код шаблона следующий код.
CREATE TABLE [dbo].[ProductPhoto] ()
[ID] [int] IDENTITY(1,1) NOT NULL,
[КодПродукта] [int] NOT NULL,
[ThumbNailPhoto] [varbinary](MAX) NOT NULL,
ОГРАНИЧЕНИЕ [PK_ProductPhoto_ProductID_ProductPhotoID] первичной ключ КЛАСТЕРНОГО ()
[КодПродукта] ASC,
[ID] ASC
),
ОГРАНИЧЕНИЕ [FK_ProductPhoto_Product_ProductID] иностранных ключ ([КодПродукта]) ссылки [Product] ([ID])
)
На данный момент две таблицы теперь являются частью проекта приложения уровня данных. Важно отметить, что в соответствии с следующие рекомендации и данных уровневое приложение инструкции CREATE TABLE, используемый в данном примере ограничения:
· Все ограничения определяются в инструкции CREATE TABLE и явно указанных в сценарий. Другими словами пример использует инструкцию ALTER TABLE и есть никаких ограничений с именем системы. Этот факт имеет важное значение, потому что инструкции ALTER TABLE не поддерживаются в проекте приложения уровня данных.
· Инструкция CREATE TABLE не использовать необязательное [первичной] предложение, которая позволяет пользователю указать файловые группы, на котором создается таблица . Факультативной предложение опущен, поскольку в первый релиз уровня данных приложений в Visual Studio 2010 и SQL Server 2008 R2 не поддерживаются несколько файловых групп.
Добавление представления и хранимые процедуры в проект и построения решения
В предыдущем разделе, две таблицы были добавлены в проект приложения уровня данных. Теперь, когда таблицы доступны в системе работы с проектами, можно создать представления и хранимые процедуры, которые полагаются на эти таблицы, выполнив следующие инструкции. Эти инструкции также продемонстрировать как построить общего решения после того, как все объекты добавляются в проект.
1. Создайте новое представление под названием ProductAndPhoto , выбирает из продукции и ProductPhoto таблиц. Для этого, в Solution Explorer, щелкните правой кнопкой мыши взгляды папки, расположенной под Схемы Objects\Schemas\dbo папку проекта. Выберите Добавить, и нажмите кнопку мнение.
Рисунок 28: Добавление представления в проект
2. В Добавить новый элемент диалоговое окно, набор имя мнение ProductAndPhoto и нажмите кнопку Добавить. ProductAndPhoto.view.sql файл добавляется в проект и открыт в редакторе Transact-SQL.
Рисунок 29: параметр имя представления
3. В редакторе замените код в файле ProductPhoto.view.sql следующий код, а затем сохраните изменения.
CREATE VIEW [dbo].[ProductAndPhoto]
AS
Выберитепродукта. *,
Фото.[ThumbNailPhoto]
FROM [dbo].[Product]AS продукта
JOIN [dbo].[ProductPhoto] AS фото
О продукта.[ID] = photo.[КодПродукта]
При написании кода в редакторе, обратите внимание на то, что IntelliSense позволяет быстро ввода кода, даже если окно не подключена к базе данных. Это новая функция в Visual Studio 2010 под названием автономных IntelliSense (или отключен IntelliSense). Здесь пункты, перечисленные в списке завершения являются те, которые появляются в сценарии проекта уровня данных приложения и файлы.
Рисунок 30: возможности автономной IntelliSense в Visual Studio 2010
4. Создайте новую хранимую процедуру под названием RetrieveProducts , получает продукцию из таблица продукта и ProductPhoto: В обозревателе решений щелкните правой кнопк��й мыши Хранимые процедуры папки, расположенной под Схемы Objects\Schemas\dbo\Programmability папку, указывают на Добавитьи нажмите кнопку Хранимой процедуры.
5. В Добавить новый элемент диалоговое окно, набор имя хранимой процедуры RetrieveProducts, а затем нажмите кнопку Добавить. RetrieveProducts.proc.sql файл добавляется в проект и открыт в редакторе Transact-SQL.
6. В редакторе кода хранимой процедуры замените следующий код и сохраните изменения.
Создание процедура [dbo].[RetrieveProducts]
@param1 int = 3300
AS
SELECT *
FROM [dbo].[Product]
ГДЕ [ListPrice] > = 3300
ORDER BY [ID] DESC
ВОЗВРАЩЕНИЕ 0
7. Нажмите сочетание клавиш CTRL + SHIFT + B для построения решения и оплаты внимание вывода окно. В вывода окнопросмотрите журнал выхода для проверки, что КСР пакет файл был создан. В этом примере КСР пакет сохраняется в файле SampleDatatierApp.dacpac.
8. Просмотрите содержимое файла пакет КСР, перейдя в выходную папку и изменения расширения имени файла SampleDatatierApp.dacpac на ZIP. Затем дважды щелкните переименованный файл. КСР пакет файл содержит XML-файлы с манифестом, определяющий все базы данных и объектыэкземпляр SQL Server, используемых приложением. Кроме того, если на компьютере установлены средства клиент для SQL Server 2008 R2, использовать распаковки функциональность для просмотра содержимого КСР и просмотрите код развертывания КСР.
Рисунок 31: просмотра разархивированные содержание КСР пакет
Создание политики сервера выбор заявлять о намерениях развертывания
Политика выбора сервера позволяет разработчикам набор предпосылки и условия на целевой экземпляр SQL Server , где развертывается приложение уровня данных. К примеру выбор политики сервера позволяют разработчикам ограничить развертывание приложений уровня данных для экземпляров SQL Server 2005 или более поздних версий.
Выбор политики сервера состоят во время разработки проектов приложений уровня данных в Visual Studio, и они вычисляются во время развертывания проекта или Обновить. Чтобы создать политики выбора сервера в уровня данных проекта приложения, выполните следующие действия:
1. В обозревателе решений под Свойства узел, дважды щелкните ServerSelection.sqlpolicy.
Рисунок 32: создание политики выбора сервера
2. Свойств аспекта перечислены аспекты политики, которые могут быть определены как часть условия политики. Например текущей, выберите VersionMajor вариант и установите флажок рядом с его, чтобы открыть Изменить значения диалогового окна. В диалоговом окне, набор операторсравнения для больше или равнои затем набор значение поле для 9, как показано на рисунке 33. Затем, нажмите OK. При выполнении этого действие, развертывание приложения уровня данных ограничивается SQL Server 2005 или более поздних версий.
Рисунок 33: установки условие политики для аспекта свойство VersionMajor
3. Просмотрите файл ServerSelection.sqlpolicy в редакторе. Чтобы сохранить изменения, нажмите кнопку Сохранить все в панели инструментов или нажмите сочетание клавиш CTRL + SHIFT + S.
Рисунок 34: просмотра политики выбора сервера
Добавление в проект развертывания сценарий
Можно указать действия, которые будет выполнять произошедшие после данных уровневое приложение развертывается в экземпляр SQL Server. Указать такие выполняемые действия в период после развертывания сценарий, который находится под сценариев, по после развертывания папки в обозревателе.
Чтобы включить код Transact-SQL в сценарий, выполняемый после развертывания, дважды щелкните файл Script.PostDeployment.sql и добавьте код в сценарий с помощью редактора. После того, как были внесены изменения, сохраните сценарий для включения изменений. Затем нажмите клавишу F6 для построения решения.
При работе с выполняемые сценарии, следует принимать во внимание несколько соображений и лучшие практики:
· В первый релиз уровня данных приложения, выполняемые сценарий может использоваться для обработки (например, заполнения) данных после развертывания проекта. Кроме того, после развертывания сценарий может использоваться для создания объектов, которые не могут быть поддерживает в первоначальном выпуске уровня данных приложений.
· Когда вы строите решение для создания КСР пакет, после развертывания сценария Script.PostDeployment.sql становится частью КСР пакет.
· При работе в обозревателе, рекомендуется включить все выполняемые команды в Script.PostDeployment.sql файла сценария. Это потому, что только один файл после развертывания входит в КСР пакет. Другими словами не следует создавать несколько файлов.
· Если вы хотите просмотреть после развертывания сценарий в КСР пакет, то рекомендуется использовать распаковки данных уровневое приложение функциональность, которая доступна на компьютерах под управлением клиент средства для SQL Server 2008 R2.
· При развертывании уровня данных приложения из Visual Studio, после развертывания сценарий автоматически выполняется база данных master на целевом экземпляр SQL Server. Однако при развертывании уровня данных приложения из среды Management Studio SQL Server , после развертывания сценарий не выполняется автоматически против целевого экземпляр. С тем чтобы приме��ить сценарий изменения данных уровневое приложение, необходимо запустить и вручную выполните сценарий для целевого экземпляр и баз данных, используемых приложением уровня данных.
· Visual Studio код после развертывания сценария через Build Action свойство , связанное с сценарий. Чтобы просмотреть свойство, выберите сценарий в обозревателе и нажмите клавишу F4, чтобы набор фокус на свойства окнои затем найти и проанализировать Build Action свойство. Для сценария, выполняемого после развертывания, значение свойство должно быть "PostDeploy".
Настройка уровня данных проекта приложения для развертывания
Перед развертыванием нового уровня данных приложения на целевой экземпляр SQL Server, или перед обновлением ранее развернутых данных уровневое приложение до более новой версия из Visual Studio необходимо сначала настроить параметры проекта. Проекта конфигурация требуется для обеспечения Visual Studio с информацией о подключении к целевой экземпляр SQL Server, чтобы набор имя базы данных, который будет использоваться приложением уровня данных и набор имя приложения.
Для того чтобы настроить проект приложения уровня данных, выполните следующие действия:
1. Щелкните правой кнопкой мыши узел проекта и нажмите кнопку Свойства. Основные свойства страницы с несколькими вкладками свойство открыт в области редактора.
Рисунок 35: просмотра вкладки свойство для проекта
2. В Параметры проекта вкладке, под свойств уровня данных приложения, введите имя уровня данных приложения в имя поле. Это значение представляет имя приложения. Например, если приложение используется для обработки финансовых данных, вы можете набор имя для финансов. Имя приложения уровня данных играет роль ключ во время обновления: Если ранее развернутых данных уровневое приложение, версия 1.0 обновляется до версия 2.0 с помощью DAC пакет , содержащий более новой версия, с тем чтобы выполнить обновление, имя уровня данных приложения должно совпадать. Другими словами, имя приложения, хранящиеся в файле пакет КСР 2.0 должно быть идентично имени, хранятся в метаданные таблицы в msdb для КСР 1.0 версия. Для получения дополнительных сведений о процессе обновления, см. соответствующий раздел описывающий обновления операции в SQL Server Management Studio. Кроме того, важно отметить, что имя развернутого данных уровневое приложение может быть изменены; Однако такие изменения не рекомендуется.
В Параметры проекта вкладку, вы также можете обновить версии поле для ввода уровня данных приложения версия для целей отслеживания и разработок. Кроме того, рекомендуем вам ввести краткое описание для проекта в Описание поле. Когда закончите, нажмите сочетание клавиш CTRL + S, чтобы сохранить обновленные значения.
3. Нажмите кнопку построить вкладку. Убедитесь, что Параметры сортировки базы данных набор соответствующее значение, или изменить его при необходимости.
4. Нажмите кнопку развернуть вкладку и относятся к подключения назначения строка. Нажмите кнопку редактировать открыть подключиться к серверу диалогового окна и выберите имя экземпляр SQL Server , где будет развернуто приложение уровня данных. В этом диалоговом окне, не забудьте использовать имя входа, которое будет использоваться для развертывания или обновления данных уровневое приложение (для получения дополнительных сведений о разрешениях минимальный входа, см. минимальны�� разрешения и безопасности отмечает секции). Кроме того, убедитесь, что версия SQL Server экземпляр отвечает уровня данных приложения ограничения.
Рисунок 36: диалогового окна Подключение
1. В развернуть tab, введите имя базы данных, которая будет использоваться в имя экземпляр данных уровневое приложение поле. При развертывании приложения уровня данных в этой базе данных будут создаваться объекты проекта.
2. Чтобы обеспечить соответствие целевой экземпляр условия, указанные в политики выбора сервера, выберите политики выбора сервера проверки флажок. Обратите внимание, что этот параметр не влияет на SQL Server Management Studio, где политики выбора сервера всегда оценивается целевой экземпляр до развертывания или обновления.
После настройки проекта, если данных уровневое приложение никогда не были развернуты, можно использовать Visual Studio для развернуть проекта и создания новой базы данных и объектов. Если данных уровневое приложение уже развернуто, можно использовать Visual Studio для Обновить существующий включить объекты, указанные в системе проекта.
Развертывание приложений уровня данных
После того, как проект настроенные для развертывания, можно просмотреть выходные данные. Нажмите кнопку мнению, и либо щелкните вывода или нажмите сочетание клавиш CTRL + W, чтобы показать область вывода. Затем, щелкните правой кнопкой мыши узел проекта в обозревателе решений и нажмите кнопку развернуть применять изменения уровня данных приложения, как показано на рисунке 37.
Рисунок 37: развертывание приложения уровня данных
Если это первый раз, развернуто приложение уровня данных (то есть, нет базы данных с именем, введенным в развернуть вкладку Свойства для проекта), Visual Studio создаст новую базу данных с указанным именем и устанавливает объекты базы данных и экземпляр . Однако если база данных уже существует на целевом экземпляр и данных уровневое приложение переводится, Visual Studio обновляет существующего уровня данных приложения. - Развертывания первого времени и обновления данных уровневое приложение ранее в этом документе подробно описаны.
В выходном окноотмечают прежде чем развертывания инициирует, Visual Studio выполнит построение проекта и создает файл пакет КСР с расширением .dacpac. Затем КСР пакет развернуты против целевого экземпляр. Рисунок 28 показывает журнал трассировка в окно вывода для успешного примера развертывания. Чтобы проверить развертывание, используйте для входа на целевой экземпляр SQL Server и изучить базу данных, связанную с данным уровневое приложение Visual Studio или SQL Server Management Studio.
Рисунок 38: журнал выхода для успешного развертывания
В нескольких сценариях развертывания Visual Studio приведет к ошибкам. Например, такие события происходят, если условия в политики выбора сервера не удовлетворен целевой экземпляр SQL Server, если проект не настроен должным образом, если в коде проекта обнаружены ошибки Transact-SQL, или если проект содержит объекты, не поддерживается приложением уровня данных. Если возникают ошибки развертывания, настоятельно рекомендуется, что вы вывода окно и просмотреть журнал ошибок.
Обновление данных уровневое приложение
Когда ты Развертывание проекта приложения уровня данных в Visual Studio, если ранее данных уровневое приложение было развернуто на целевой экземпляр, Visual Studio выполняет такое же шаги процесса обновления приложения уровня данных. Этот процесс и его связанные действия подробно описаны в ранее в документе и в данных уровневое приложение обновление раздела для SQL Server Management Studio.
** **
Ограничения и поддержка
Объекты, поддерживаемые в данных уровневое приложение
Первый выпуск данных уровневых приложений предназначен для простых информационных технологий (ИТ) системы. Следовательно несколько ограничений, уровня данных приложение .NET framework.
Уровня данных приложения и пакеты КСР призваны служить пользовательских баз данных. ЦАП нельзя привести в действие для моделирования и работать с системных баз данных. Например пользователи не могут извлечь, регистрации или развертывания пакетов КСР для системных баз данных master и msdb .
Список типов объектов базы данных-поддерживаются в КСР доступен в SQL Server электронной документации на http://msdn.microsoft.com/en-us/library/ee210549 (SQL.105) .aspx. Общие объекты базы данных, которые не поддерживаются в КСР включают в себя:
· Объекты, помеченные для устаревания, включая значения по умолчанию, правила и пронумерованные хранимые процедуры
· CLR объекты и типы данных (например, пространственных, география, геометрии, Идентификатор иерархии типов данных, SQL сборки, хранимые процедуры CLR и функций)
· Пользовательские статистические выражения и определяемые пользователем типы (среда CLR)
· Схемы секционирования и функций секционирования
· Коллекции схем XML, XML-индексов и пространственных индексов
· Объектов компонента Service broker
· Столбцы FILESTREAM
· Симметричные ключи, асимметричные ключи, сертификаты
· Триггеры DDL
· Роли приложений
· Полнотекстовый каталог объектов
· Расширенные хранимые процедуры
· Зашифрованные объекты (например, зашифрованные хранимые процедуры, представления, функции и триггеры)
· Объекты, содержащие межбазовых зависимостей и связанного сервера ссылок
· Расширенные свойства
· Синонимы
Пароли не хранятся в КСР пакет, или в определении КСР в msdb. Когда именам входа SQL создаются во время КСР развертывания или обновления, каждое имя входа SQL Server создается как отключенного имени входа с сильным случайный пароль и MUST_CHANGE предложение. После этого пользователям необходимо включить и изменить пароль для каждого нового имени входа SQL (с помощью команды ALTER LOGIN, например).
Несколько баз данных иэкземпляр SQL Server- объектыуровень не может быть сгруппирована в КСР пакет (когда КСР в построенных или импортирован в Visual Studio или при извлечении КСР в SQL Server Management Studio). Когда КСР зарегистрировано или извлечены, эти экземпляр- элементовуровень не учитываются в определении КСР и не хранятся в msdb или в КСР пакет, соответственно. Однако эти объекты не навязывать какие-либо ограничения или предотвращения использования ЦАП. Другими словами пользователи могут извлечь, регистрации, развертывания и обновления ЦАП на экземплярах, содержащие такие элементы.
Объекты базы данных, которые подпадают под эту категорию, включают в себя:
· Разрешения для объектов
· Членство в роли (сопоставление пользователей и ролей базы данных)
· Расширенные свойства
· Статистика
· Диаграммы
· Структуры планов
SQL Server экземпляр- объектыуровень в этой категории включают в себя:
· Связанные серверы
· Задания SQL
· Сертификаты
· Конечные точки
· Объекты учетных данных
· Определяемые пользователем политики и условий
· Членство в роли (сопоставления между именами входа и роли сервера)
Длина имени базы данных, используется для извлечения, регистрировать или развернуть приложение уровня данных не может превышать 87 символов.
Файлы и файловые группы: КСР framework предоставляет ограниченную поддержку для файлов баз данных и файловых групп. ЦАП могут быть извлечены из базы данных, имеющий несколько файловых групп, и базу данных с нескольких файловых групп могут быть зарегистрированы как КСР. Однако, файловые группы не хранятся в определении КСР в КСР пакет или в msdb, после того, как процесс извлечения или регистрации, соответственно. В результате при развертывании КСР, Новая база данных, созданных в ходе развертывания будет иметь одну файловую группу и один файл. Начальный размер этой новой базы данных — набор 3 МБ с 1 МБ неограниченный auto роста. Файл журнала для базы данных является набор начальный размер 1 МБ, с 10 процентов auto роста, и ограничивается размером до 2 терабайт.
SQL Serverограниченияверсия
Уровень данных приложений могут быть извлечены из SQL Server 2000 или более поздних версий, для создания файла пакет КСР. Однако в настоящее время уровня данных приложений могут только быть развернуты в экземпляр компонента Database Engine SQL Server 2008 R2. Аналогичным образом регистрация базы данных, приложение уровня данных или обновлении данных уровневое приложение поддерживается только в SQL Server 2008 R2. Поддержку развертывания в будущем может стать доступны дополнительные версии SQL Server выпускает.
Ограничения размера пакет КСР
КСР пакет могут быть созданы с помощью одного из следующих методов:
· В SQL Server Management Studio выберите базу данных и запустите мастер приложений уровня данных экстракт. Мастер создает файл пакет КСР (с расширением .dacpac), содержащий все имена входа, сопоставленные с пользователями базы данных и объекты базы данных.
· В Visual Studio функция построения для создания КСР пакет из уровня данных приложения проекта системы. В этом случае файл пакет КСР будет включать политики выбора сервера, а также пользовательские сценарии пользователя например, pre/post сценарии развертывания (например, выполняемые сценарии, содержащие инструкции INSERT для обработки данных во время развертывания или обновления).
С любой техникой, размер дополнительные файлы секции КСР пакет , который хранит выполняемые сценарии для уровня данных приложения не может превышать 50 МБ.
Минимальные разрешения и безопасности примечания
В жизненном цикле приложения уровня данных требуются следующие разрешения:
· Чтобы извлечь КСР, необходимо иметь разрешения VIEW DEFINITION и выберите привилегии на sys.sql_expression_dependencies в базе данных пользователей, а также привилегии ALTER ANY LOGIN на экземпляр SQL Server. Если вы принадлежите к роли базы данных db_owner и роли сервера securityadmin, вы автоматически отвечает этим требованиям.
· Возможность развертывания КСР только члены роли сервера dbcreator, которые также иметь разрешения ALTER ANY LOGIN.
· Для обновления данных уровневое приложение от (скажем) V1-V2, вам необходимо быть членом роли сервера dbcreator, необходимо иметь разрешения ALTER ANY LOGIN и должен также быть dbo базы данных КСР V1.
· Регистрация данных уровневое приложение требуются те же разрешения, как развертывание.
· Чтобы удалить КСР, должен быть dbo базы данных КСР.
· Операция распаковки КСР использует контекст безопасности вошедшего в систему пользователя Windows. Функциональность распаковки не требует повышенных прав. С тем чтобы успешно распаковать файлы, содержащиеся в КСР пакет к данной папке, пользователи должны иметь разрешения для записи в целевую папку.
Для имен входа, КСР существует несколько соображений, связанных с обеспечением безопасности:
· Пароли для имен входа SQL-как отмечалось ранее, пароли для имен входа SQL не моделируются в КСР. Пароли должны быть набор вручную после того, как новое имя входа SQL создаются во время развертывания или обновления.
· Кросс - логины Windowsдомен и развертывания – говорят, что разработчики используют Visual Studio для создания и развертывания приложения уровня данных в одном Windows домен. Когда они сделали, разработчикам создание КСР пакет и отправить его на производство для развертывания в другом домен. Однако имя первого домен жестко для всех имен входа Windows, в пакет; Поэтому кросс - логины Windowsдомен не может быть успешно развернут. Такие сценарии привести к предупреждений (но не ошибки) и делать не блок или запрашивать отката развертывания. Чтобы избежать этих предупреждений, укажите инструкции DDL для создания имен входа в pre/после-развертывания сценария в Visual Studio.
· База данных по умолчанию для имен входа, КСР - Мастер база данных является база данных по умолчанию для всех имен входа, созданных во время КСР развертывания или обновления.
· Conflicts– имя входа во время развертывания, если имя входа, содержащихся в КСР пакет уже существует экземпляр (возможно, с различными свойствами), создание имени входа пропускается и существующее имя входа не изменяется. То же самое поведение происходит при обновлении существующей версия данных уровневое приложение с помощью DAC пакет , содержащий более новой версия.
** **
Соображений, бедствий, восстановления и высокой доступности
Данных уровневое приложение состоит из базы данных, объекты базы данных и содержимого, и имена входа, сопоставленные с пользователями базы данных. Таким образом зависимости от архитектуры SQL Server средах, где используются данные уровневых приложений, вашей организации может потребоваться настроить или добавления этапов к существующих аварийного восстановления (DR) и решений высокой доступности (HA), с тем чтобы учесть ограничения приложений уровня данных. Несколько корректировок и рекомендаций описаны в этом разделе для общих решений ха-DR.
Резервное копирование и восстановление
SQL Server предоставляет возможности резервного копирования и восстановление базы данных для восстановления после стихийных бедствий. Однако для того чтобы планировать решения восстановления для приложений уровня данных, следует принять ряд допол��ительных мер. Например Предположим, что уровень данных приложение запущено на SQL Server экземпляр , называемый Instance1, и второй экземпляр под названием Instance2 будет использоваться для восстановления данных уровневое приложение. Обеспечить простое восстановление на втором экземпляре от Instance1 рекомендуются следующие соображения:
· Убедитесь, что все имена входа из Instance1 также доступны на втором экземпляре.
· Убедитесь, что периодически резервная база данных, используемая приложением уровня данных в Instance1, и что архивные файлы доступны из Instance2.
· Для восстановление данных уровня приложений на втором экземпляре, восстановление уровень данных приложения базы данных из резервной копии. Затем зарегистрировать базы данных как приложения для уровня данных на втором экземпляре. В ходе процесса регистрации укажите имя приложения и КСР версия , использовавшиеся в Instance1.
· После регистрации измените сведения о подключении для ваших приложений (например, подключения строка в файл web.config) для доступа к базе данных в Instance2.
В целом, также рекомендуется периодически резервную копию msdb таблицы базы данных или КСР в msdb, потому что имя приложения и КСР версия могут быть получены из резервного копирования. Кроме того, вместо того, чтобы регистрация данных уровневое приложение, вы можете восстановление msdb системной базы данных из резервной копии Instace1, для автоматического заполнения КСР определения в msdb в втором экземпляре.
Зеркального отображения и доставки журналов
Уровень данных приложения являются работоспособными в зеркальном отображении базы данных. Однако специальные действия в жизненном цикле приложения уровня данных может повлиять на процесс зеркального отображения и должна рассматриваться соответственно. Точки зрения обсуждения, сказать, что источник используется база данных на основной экземпляр SQL Server под названием Instance1 и что целевой зеркальная база данных расположена на зеркальный экземпляр с именем Instance2.
Уровень данных приложение может быть извлечены из базы данных- источник на основной машине. Однако извлечение в зеркальной базе данных (то есть, базу на втором экземпляре) не поддерживается. Аналогичным образом, может быть базы данных- источник на Instance1 зарегистрирован данных уровневое приложение, но регистрация функциональность доступна не для целевой базы данных на втором экземпляре.
После новый уровень данных приложение развертывается от КСР пакет (например, с помощью развертывания данных уровневое приложение Мастер), создается новая база данных для хранения объектов пакет КСР. После того, как база данных доступна, можно набор зеркалирование между основной и зеркальный экземпляры, используя стандартные настройки зеркального отображения.
Если база данных используется приложением уровня данных и базы данных- источник на основной экземпляр, каждый раз при обновлении приложения уровня данных, несколько ручного действия должны предприниматься в целях успешного выполнения обновления. Ручной шаги необходимы потому, что Обновить процесс выполняется в режиме бок-о-бок: при обновлении существующей версия (скажем, КСР V1) до новой версия (например, КСР V2), создается новая база данных для хранения объектов для КСР V2, зеркальной базы данных КСР V1 переименовывается и новой базы данных принимает имя исходной зеркальной базы данных. Таким образом чтобы обновление приложения уровня данных, необходимо удалить зеркального отображения сеанс. Одним из способов покончить с зеркального отображения сеанс является побегите следующее на основной экземпляр.
ALTER DATABASE DatabaseName установить участника
После отключения зеркального отображения, процесс обновления может быть выполнен. После завершения обновления, создайте резервную копию базы данных, используемых приложением уровня данных (то есть, недавно созданной базы данных), восстановление его на экземплярзеркального и набор снова зеркалирование между основной и зеркальный экземпляры.
Для удаления, уровня данных приложений могут быть удалены из экземпляр SQL Server в одним из трех способов: удаление КСР определение из msdb, удаление определения КСР и отсоедине��ие базы данных, или удаление определения и удаления базы данных. Если зеркальное отображение базы данных, используемых приложением уровня данных, выше инструкции ALTER DATABASE должна выполняться до того, как база данных может быть отсоединена или удалены. Тем не менее, требуется никаких шагов для того чтобы удалить определение КСР с msdb, потому что она не влияет на источник базу данных.
И наконец, важно отметить, что аналогичные концепции применяются к доставке журналов: добыча и регистрации действия теперь доступны в источник базе данных. Кроме того доставка журналов должен быть отключен перед обновлением данных уровневое приложение, и он должен быть набор вверх снова после завершения обновления.
Кластеризация
Различные действия в жизненном цикле данных уровневые приложения могут выполняться в кластерной среде без необходимости выполнения специальных действий. Иначе говоря, уровня данных приложения могут быть действовали, развернутых или на кластерных экземпляров без необходимости выполнять дополнительные или пользовательских шагов вручную.
Заключение
С введением данных уровневых приложений в SQL Server 2008 R2 и Visual Studio 2010 Microsoft облегчает жизненного цикла проектов баз данных, позволяя разработчикам для составления кода базы данных в системе управления источник , объявить и выразить способы развертывания, пакет изменений в одном КСР пакет и затем передачи изменений испытаний и производства SQL Server среды. Администраторов баз данных в средах тестирования и затем автоматически развернуть изменения базы данных с помощью встроенных инструментов, которая исключает необходимость запускать error-prone и потенциальных затрат времени сценариев.
Конец примечания
[D01] Если один или несколько из условия политики не удовлетворены, вы можете игнорировать нарушения политики и перейти, или можно прервать развертывания.
[D02] Исходная база данных КСР V1 переименовывается и осталось на SQL Server экземпляр после завершения обновления. Таким образом изменения не будут целиком утеряны, поскольку они могут вручную восстановить и перемещены в базу КСР V2.
Обратная связь
Помогли ли вам этот документ? Пожалуйста, дайте нам свой отзыв. Сообщите нам по шкале от 1 (бедных) до 5 (отлично), как бы вы оценили этот документ и почему вы дали ему этот рейтинг? К примеру:
· Вы рейтинг его высокой из-за хорошие примеры, отличные скриншоты, четко писать или другая причина?
· Вы рейтинг его низкой из-за плохой примеры, нечетких скриншоты или неясным написания?
Эти отзывы помогут нам улучшить качество официальные документы, которые мы выпускаем.