Общие сведения об архитектуре функций баз данных Visual Studio
Visual Studio предлагает разработчикам баз данных многие средства, функции и возможности, эквивалентные тем, которые предлагаются другим участникам команды разработки приложения. Например, можно использовать ту же систему управления вервиями и те же средства жизненного цикла для базы данных, которые используются разработчиками программного обеспечения для исходного кода. Поскольку архитектура Visual Studio тесно интегрирована с Visual Studio Team Foundation Server, можно с большей легкостью управлять процессом разработки базы данных при улучшенной координации с разработчиками других аспектов приложения.
Дополнительные сведения о возможностях, поддерживающих разработку баз данных в Visual Studio, см. в разделе Управление изменениями в базе данных.
Интеграция Visual Studio
Базовая архитектура Visual Studio интегрирована с Visual Studio Team Foundation Server, а интерфейс согласован между компонентами. Работа с проектами баз данных, серверными проектами и приложениями уровня данных часто происходит сходным образом с выполнением других типов задач в Visual Studio. Специфические для баз данных шаблоны отображаются в диалоговых окнах Новый проект и Добавление элемента проекта. Кроме того, можно выполнять действия (такие как построение и развертывание) и настраивать параметры (такие как подключение к целевой базе данных и параметры сортировки), предназначенные специально для разработки баз данных.
Проекты баз данных отображаются в обозревателе решений наравне с другими типами проектов. Их можно помещать под контроль системы управления версиями, добавлять и удалять элементы проектов и выполнять их построение с помощью MSBuild.
Архитектурное решение
Visual Studio содержит следующие архитектурные области:
Проект базы данных
Инфраструктура жизненного цикла базы данных
Каждый проект базы данных является представлением базы данных вне сети и расположен в структуре решения Visual Studio. Необходимо построить и развернуть изменения в проекте базы данных, для того чтобы они отразились в действующем экземпляре Microsoft SQL Server 2005, или Microsoft SQL Server 2008.
Инфраструктура жизненного цикла базы данных
Инфраструктура жизненного цикла базы данных предоставляет разнообразные службы между проектом базы данных и (моделью) локального представления базы данных. Эта инфраструктура включает базовые функции, необходимые любому проекту базы данных. Вместе эти функции называются основанием проекта базы данных. Функции, построенные на этом основании, называются функциями проекта базы данных.
Основание проекта базы данных
Основание проекта базы данных включает следующие базовые функции.
Анализ проекта и его элементов
Основание анализирует артефакты проектов баз данных и их элементы, такие как таблицы, представления и хранимые процедуры. При этом информация об объектах базы данных извлекается из файлов скриптов, составляющих проект базы данных. Например, данная функциональность применяется при импорте объектов базы данных из существующих скриптов базы данных. Проекты базы данных состоят из коллекции скриптов Transact-SQL. Система проектов баз данных интерпретирует эти скрипты так, чтобы с ними можно было работать как с логическими объектами схемы.Импорт схемы базы данных
Используя функцию импорта схемы базы данных, можно поместить имеющуюся базу данных в Visual Studio и под контроль системы управления версиями. Даже в среде, где управление базой данных осуществляется через систему управления версиями, изменения могут вноситься на активном сервере базы данных, и тогда их необходимо переносить в проект базы данных. Для импорта изменений с сервера базы данных в разрабатываемый проект базы данных можно использовать функцию сравнения схем.Отслеживание зависимостей между объектами базы данных
Система проектов баз данных автоматически отслеживает зависимости между объектами базы данных. Отслеживание зависимостей между объектами позволяет гарантировать построение и развертывание нужных объектов. Если внести в продукт разрушительное изменение, его разрушительная природа будет обнаружена при первом сохранении изменения. Для просмотра зависимостей между объектами базы данных и перехода между ними используется средство просмотра зависимостей схемы. Обычно разрушительные изменения обнаруживаются при попытке построить, развернуть или выполнить модульный тест базы данных. Рефакторингбазы данных использует эти зависимости для идентификации необходимых изменений, а создание данных может показать отношения зависимости как часть плана создания данных.Рефакторингбазы данных
При рефакторинге базы данных происходит идентификация зависимостей между объектами базы данных. Эта информация используется для точного распространения изменений в базе данных и проектах модульного тестирования. Рефакторинг баз данных доступен только в версиях Visual Studio Premium и Visual Studio Ultimate.Создание скриптов развертывания для новых и существующих развертываний
Скрипты развертывания используются для создания базы данных или обновления имеющейся базы данных в соответствии со схемой в проекте базы данных. Скрипты развертывания состоят из скриптов, выполняемых перед развертыванием, скриптов создания объектов базы данных и скриптов, выполняемых после развертывания. При развертывании в существующей базе данных проект базы данных сравнивается во время развертывания с текущей схемой конечной базы данных. Для обновления целевой базы данных с использованием сочетания инструкций ALTER, CREATE, и DROP создается скрипт обновления.Проверка построений
Данная функциональность включает проверку структуры и связей объектов проекта базы данных, проверку синтаксиса скриптов, выполняемых до и после развертывания, и представление результатов проверки пользователю.
Функции проекта базы данных
В дополнение к базовым службам, предоставляемым для проектов баз данных, надо основанием проекта базы данных надстроены дополнительные функции. К таким средствам относятся:
Сравнение схем базы данных
Предоставляет возможность сравнения двух схем базы данных. Это могут быть текущие версии проекта базы данных, более ранняя версия, хранящаяся в скомпилированном DBSCHEMA-файле, созданном при построении проекта базы данных, или схема одной или нескольких активных баз данных. Можно также создавать необходимые скрипты для обеспечения соответствия структуры целевой базы данных структуре исходной базе данных. Сравнение схем доступно только в версиях Visual Studio Premium и Visual Studio Ultimate.Сравнение данных баз данных
Предоставляет возможность сравнения данных в двух базах данных, если имеются действующие базы данных с соответствующими схемами. Можно также создавать необходимые скрипты для обеспечения соответствия между данными целевой базы данных и исходной базы данных. Сравнение данных доступно только в версиях Visual Studio Premium и Visual Studio Ultimate.Модульное тестирование базы данных
Автоматически создает модульные тесты для хранимой процедуры или функции и поддерживает создание вручную модульных тестов, состоящих из любого допустимого кода Transact-SQL. Используя эту службу. можно убедиться, что внесенные еще где-либо изменения не разрушают вашу работу. Как часть модульного теста, можно автоматически построить и развернуть базу данных создать воспроизводимые тестовые данные для установки согласованного начального состояния. Эта служба включает также открытый API, которым можно пользоваться для написания пользовательских условий теста для добавления в модульные тесты повторно используемой логики проверки. Выполнять модульные тесты базы данных можно в Visual Studio Professional, Visual Studio Premium или Visual Studio Ultimate, но для их создания или изменения требуются Visual Studio Premium и Visual Studio Ultimate.Создание данных
Предоставляет возможность заполнения базы данных реалистичными тестовыми данными, не являющимися просто копией рабочих данных, могущих содержать конфиденциальную информацию. Возможно также создание пользовательских генераторов данных. Эта служба также включает открытый интерфейс API для написания пользовательских генераторов, которые используются с типами данных среды CLR, пользовательскими типами данных или для применения пользовательских алгоритмов создания данных для встроенных типов. Для создания, изменения и запуска плана создания данных необходимо установить Visual Studio Premium или Visual Studio Ultimate.Написание и выполнение скриптов базы данных
Предоставляет редактор Transact-SQL, в котором можно создавать, анализировать и выполнять скрипты базы данных подобно тому, как используется анализатор запросов или SQL Server Management Studio. Это тот же редактор, который используется для изменения скриптов в проекте базы данных. Поэтому он предоставляет согласованный пользовательский интерфейс при работе с автономным проектом базы данных или непосредственном выполнении скриптов в рабочем сервере базы данных.
Поддержка командной строки
Некоторые регулярно выполняемые действия необходимо выполнять в рамках автоматизированного процесса. Для поддержки такого скрипта можно строить проект базы данных разворачивать его и выполнять модульные тесты из командной строки, включая создание предсказуемых тестовых данных, адекватно представляющих реальные данные.
См. также
Задачи
Пошаговое руководство. Создание изолированной среды разработки базы данных
Пошаговое руководство. Создание базового плана для изолированной среды разработки