Поделиться через


Пошаговое руководство. Создание и развертывание проекта базы данных, ссылающегося на общие имена входа.

Если несколько баз данных ссылаются на одни и те же серверные объекты, можно создать по проекту для каждой базы данных, а также проект сервера, в который импортируются такие объекты, как общие имена входа, ключи или настраиваемые сообщения об ошибках. В этом пошаговом руководстве описано, как настроить изолированную среду разработки для базы данных, ссылающейся на общие имена входа, импортированные в проект сервера. В основе этой среды лежит проект базы данных, содержащий определения всех объектов производственной базы данных.

В данном пошаговом руководстве рассмотрены следующие задачи:

  • Настройка общего проекта сервера

  • Создание составного проекта базы данных

  • Предоставление команде доступа к проекту (необязательный раздел)

Обязательные компоненты

Предварительно следует установить пакет Visual Studio Premium и получить доступ к копии SQL Server, из которой можно импортировать объекты сервера. Эта копия SQL Server должна выполняться на сервере, на котором можно развернуть проект базы данных.

Настройка общего проекта сервера

При ссылке на общие имена входа в среде разработки эти имена, как правило, определяются в проекте сервера, который уже существует и обслуживается администратором сервера.

Создание проекта сервера

  1. В меню Файл последовательно выберите команды Создать и Проект.

    Отобразится диалоговое окно Новый проект.

  2. В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.

    Примечание

    Если вы используете Visual Studio Professional, зайдите в Установленные шаблоны, последовательно раскройте узлы База данных и SQL Server и щелкните Дополнительно.

  3. В списке шаблонов выберите Проект сервера SQL Server 2008.

  4. В поле Имя введите "Общий_проект_сервера".

    В полях Расположение и Имя решения значения менять не нужно.

  5. Установите флажок Создать каталог для решения, если он еще не установлен.

  6. Снимите флажок Добавить в систему управления версиями, если он установлен, и нажмите кнопку ОК.

    В решение будет добавлен пустой проект сервера, который отобразится в обозревателе решений.

    Затем необходимо импортировать объекты и параметры сервера.

Импорт объектов и параметров сервера

  1. В обозревателе решений щелкните проект "Общий_проект_сервера".

  2. В меню Проект щелкните Импортировать объекты и параметры.

    Примечание

    Вместо шагов 1 и 2 можно щелкнуть правой кнопкой мыши проект "Общий_проект_сервера" и выбрать в меню пункт Импортировать объекты и параметры.

  3. В окне Мастер импорта баз данных укажите подключение к серверу, из которого требуется импортировать объекты и параметры и нажмите кнопку Запуск.

    Важно!

    Для выполнения этого пошагового руководства необходимо указать тот же сервер, на котором будет развернут проект базы данных.

    Объекты и параметры сервера импортируются в проект.

  4. Нажмите кнопку Готово после завершения импорта объектов и параметров.

  5. В меню Вид выберите команду Представление схемы базы данных.

  6. Разверните последовательно узлыОбщий_проект_сервера Объекты уровня сервера, Безопасность и Имена входа.

  7. Найдите и отметьте одно из имен входа, которые будут упомянуты далее в этом пошаговом руководстве.

    Следующий шаг — построение проекта сервера.

Построение проекта сервера

  • В меню Построение выберите команду Построить решение.

    При построении решения создается файл Общий_проект_сервера.dbschema, содержащий определения объектов и параметров в проекте сервера. Ссылка на этот файл будет создана позже в этом пошаговом руководстве.

    Затем следует создать проект базы данных, использующий имя входа, определенное в проекте сервера.

Создание составного проекта базы данных

Создание проекта базы данных

  1. В меню Файл последовательно выберите команды Создать и Проект.

    Отобразится диалоговое окно Новый проект.

  2. В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.

    Примечание

    Если вы используете Visual Studio Professional, зайдите в Установленные шаблоны, последовательно раскройте узлы База данных и SQL Server и щелкните Дополнительно.

  3. В списке шаблонов выберите Проект базы данных SQL Server 2008.

  4. В поле Имя введите "Составной_проект_БД".

    В полях Расположение и Имя решения значения менять не нужно.

  5. Установите флажок Создать каталог для решения, если он еще не установлен.

  6. Снимите флажок Добавить в систему управления версиями, если он установлен, и нажмите кнопку ОК.

    В решение будет добавлен пустой проект базы данных, который отобразится в обозревателе решений.

    Далее следует добавить ссылку на выходной файл проекта сервера, определенный ранее в этом пошаговом руководстве.

Добавление ссылки на проект сервера

  1. В обозревателе решений разверните узел проекта "Составной_проект_БД" и щелкните узел Ссылки.

  2. В меню Проект выберите команду Добавить ссылку на базу данных.

    Примечание

    Вместо шагов 1 и 2 можно щелкнуть правой кнопкой мыши узел Ссылки и выбрать в меню пункт Добавить ссылки на базу данных.

    Появится диалоговое окно Добавить ссылку на базу данных. Поскольку решение содержит только один проект базы данных, выбрана Схема проекта базы данных (DBSCHEMA).

  3. Нажмите кнопку Обзор.

    Отобразится диалоговое окно Выбор файла базы данных.

  4. Укажите файл Мой_проект_сервера.dbschema, созданный, как описано выше в этом пошаговом руководстве.

    Например, можно указать следующее местоположение:

    Мои документы\Visual Studio 2010\Projects\SharedServerProject\SharedServerProject\sql\debug\SharedServerProject.dbschema

  5. Нажмите кнопку Открыть.

    При создании ссылки на DBSCHEMA-файл, созданный из проекта сервера, по умолчанию такая ссылка использует литерал "master", ссылаясь на его объекты. Это не составная ссылка, поскольку было определено значение переменной базы данных. Определить переменную базы данных нужно только в том случае, если это другая база данных.

  6. Нажмите кнопку ОК.

    В проект сервера будет добавлена ссылка. Теперь можно использовать объекты, определенные в проекте сервера, как если бы они были определены в текущем проекте базы данных.

    Далее следует добавить в проект базы данных пользовательский объект. Для пользовательского объекта используется имя входа, определенное в проекте сервера.

Добавление пользователя в проект базы данных

  1. В меню Вид выберите команду Представление схемы базы данных.

  2. Последовательно разверните узлы Составной_проект_БД и Безопасность, щелкните правой кнопкой мыши узел Пользователи, подведите указатель к команде Добавить и выберите пункт Пользователь.

    Откроется диалоговое окно Добавление нового элемента.

  3. В поле Имя введите "Мой_пользователь" и щелкните Добавить.

    Пользователь создан, добавлен в проект базы данных и отображается в представлении Представление схемы. Откроется редактор Transact-SQL с определением пользователя.

  4. В редакторе Transact-SQL обновите определение пользователя в соответствии с приведенным ниже примером:

    CREATE USER [MyUser]
        FOR LOGIN [SharedLogin]
        WITH DEFAULT_SCHEMA = dbo;
    

    Важно!

    Замените [общее_имя_входа] именем, определенным в шаге 7 процедуры "Импорт проектов серверов и параметров настройки".

  5. В меню Файл выберите Сохранить Мой_пользователь.user.sql.

    Определите роль базы данных.

Определение роли базы данных

  1. Разверните последовательно узлы Представление схемы, Составной_проект_БД и Безопасность и Роли.

  2. Щелкните правой кнопкой мыши узел Роли базы данных и выберите последовательно пункты Добавить и Роль базы данных.

    Откроется диалоговое окно Добавление нового элемента.

  3. В поле Имя введите "Учет_БД" и щелкните Добавить.

    Роль создана, добавлена в проект базы данных и отображается в представлении схемы. Откроется редактор Transact-SQL с определением роли.

  4. В меню Файл выберите Сохранить Учет_БД.role.sql.

    Далее следует настроить свойства развертывания проекта базы данных.

Сопоставление пользователя с новой ролью базы данных

  1. Последовательно разверните узлы Скрипты и После развертывания и щелкните дважды Script.PostDeployment.sql.

    Откроется редактор Transact-SQL с определением скрипта, выполняемого после развертывания.

  2. В нижней части скрипта, выполняемого после развертывания, добавьте следующий оператор Transact-SQL:

    exec sp_addrolemember 'DbAccounting','MyUser';
    
  3. В меню Файл выберите Сохранить Script.PostDeployment.sql.

    Далее следует настроить свойства развертывания проекта базы данных.

Настройка проекта базы данных для развертывания

  1. В обозревателе решений щелкните Составной_проект_БД (проект базы данных).

  2. В меню Проект выберите команду Свойства: Составной_проект_БД.

    Отобразятся свойства проекта.

  3. Перейдите на вкладку Развертывание.

  4. В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базу данных.

  5. В области Параметры конечной базы данных щелкните Изменить и укажите подключение к серверу и базе данных, на которых требуется развернуть этот проект базы данных.

    Примечание

    Если указан не тот сервер, с которого выполняется импорт объектов сервера, развертывание завершится ошибкой, поскольку имена входа определены на сервере.

  6. В меню Файл выберите команду Сохранить выбранные элементы.

    Далее следует построить проект базы данных.

Построение проекта базы данных

  • В меню Построение выберите команду Построить решение.

    Выполняется построение проекта без ошибок.

    Затем следует выполнить развертывание проекта базы данных на целевом сервере и в целевой базе данных.

Развертывание проекта базы данных

  • В меню Построение выберите Развернуть Составной_проект_БД.

    Развертывание проекта будет выполнено без ошибок.

Предоставление команде доступа к проекту (необязательный раздел)

Добавление проекта в систему управления версиями

  1. В Обозревателе решений щелкните узел решения Составной_проект_БД.

  2. В меню Файл выберите Система управления версиями и щелкните Добавить решение в систему управления версиями.

    Примечание

    На этом этапе возможно взаимодействие с любым установленным программным обеспечением системы управления версиями.В данном пошаговом руководстве описаны шаги добавления проекта в Visual Studio Team Foundation Server.Если используется другая система управления версиями, замените описанные шаги эквивалентными.

    Если используется Team Foundation Server, появляется диалоговое окно Подключение к Team Foundation Server.

  3. В окне Подключиться к Team Foundation Server щелкните сервер, на котором находится командный проект, в который нужно добавить решение.

    Примечание

    Если командного проекта, в который можно добавить проект базы данных, не имеется, см. раздел Планирование и отслеживание проектов.

  4. В Проекты группы щелкните командный проект, который нужно добавить в проект базы данных, и нажмите кнопку ОК.

    Откроется диалоговое окно Добавление решения Составной_проект_БД в систему управления версиями.

  5. Нажмите кнопку ОК, чтобы принять значения по умолчанию.

    Проект базы данных и содержащиеся в нем файлы помещены под контроль систем управления версиями. Первоначально они извлечены. Чтобы другие участники рабочей группы получили к ним доступ, их нужно вернуть.

  6. В меню Вид выберите команду Другие окна и щелкните Ожидающие изменения.

    Появится окно Ожидающие изменения.

  7. В поле Примечание введите "Создание исходного проекта базы данных".

  8. На панели инструментов в окне Ожидающие изменения щелкните Вернуть.

    В диалоговом окне Ход возврата отобразится проект базы данных и содержащиеся в нем файлы, возвращаемые в систему управления версиями. Обозреватель решений обновляет значки, показывая, что файлы возвращены в систему управления версиями.

Следующие действия

После возврата проекта базы данных в систему управления версиями участники команды могут продолжить разработку проекта базы данных. Разработчикам базы данных не требуется вносить изменения в проект сервера. Поэтому можно ограничиться предоставлением прав на просмотр без внесения изменений в общие объекты.

См. также

Основные понятия

Начало коллективной разработки баз данных, ссылающихся на общие серверные объекты

Общие сведения о проектах баз данных и серверов

Начало командной разработки баз данных

Начало командной разработки баз данных, ссылающихся на другие базы данных

Начало командной разработки баз данных, ссылающихся на объекты SQLCLR