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


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

 

Microsoft SQL Server 2012 обеспечивает работу локального экземпляра сервера, доступного по запросу, который называется средой выполнения локальной базы данных SQL Server Express и активируется при отладке проекта базы данных SQL Server.Этот локальный экземпляр сервера может использоваться как песочница для сборки, тестирования и отладки проекта.Он является независимым от любого из установленных экземпляров SQL Server и доступен только из SQL Server Data Tools (SSDT).Такой механизм является идеальным для разработчиков, которые имеют ограниченный доступ к производственным базам данных или вообще не имеют доступа, однако им необходимо тестировать проекты в локальном режиме перед тем, как авторизованный персонал выполнит их развертывание в производственной среде.Кроме того, при разработке решения базы данных для SQL Azure можно пользоваться удобными функциями разработки и тестирования проекта базы данных в локальном режиме, доступными на этом локальном сервере, перед развертыванием в облаке.

System_CAPS_warningПредупреждение

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

System_CAPS_warningПредупреждение

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

Использование локальной базы данных

  1. Обратите внимание, что в Обозреватель объектов SQL Server в узле SQL Server отображается новый узел с именем Local.Это локальный экземпляр базы данных.

  2. Разверните узлы Local и Databases.Обратите внимание на внешний вид базы данных с тем же именем, что у проекта TradeDev.Разверните узлы в этой базе данных.В окне Операции Data Tools отображается состояние операций расширения/импорта, выполняющихся в любой базе данных из узла Local.Обратите внимание, что они не содержат таблицы или сущности, созданные в предыдущих процедурах.

  3. Нажмите клавишу F5 для отладки проекта базы данных TradeDev.

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

  4. Еще раз разверните узлы в проекте TradeDev на сервере баз данных Local.На этот раз обратите внимание, что таблицы, представления и функции были развернуты на локальном сервере баз данных.

  5. Щелкните правой кнопкой мыши узел TradeDev и выберите Создать запрос.

  6. Вставьте этот код на панели скриптов и нажмите кнопку Выполнить запрос, чтобы запустить запрос.

    select * from dbo.GetProductsBySupplier(1)
    
  7. В области Сообщение отображается сообщение (затронуто строк: 0), а в области Результаты не будет ни одной строки.Это связано с тем, что запрос выполнялся к локальной базе данных, а не подключенной, которая содержит реальные данные.

    Чтобы убедиться в этом, щелкните правой кнопкой мыши таблицу Products в локальной базе данных TradeDev и выберите Просмотр данных.Обратите внимание, что таблица пустая.

Копирование реальных данных в локальную базу данных

  1. В Обозреватель объектов SQL Server разверните подключенный экземпляр SQL Server и найдите базу данных TradeDev.

    Щелкните правой кнопкой мыши таблицу Suppliers и выберите Просмотр данных.

  2. Нажмите кнопку Скрипт (вторая справа) в верхней части редактора данных.Скопируйте инструкции INSERT из скрипта.

  3. Разверните экземпляр сервера Local и щелкните правой кнопкой мыши узел TradeDev, затем выберите Создать запрос.

  4. Вставьте инструкции INSERT в окно запроса и запустите запрос.

  5. Повторите приведенные выше действия для копирования данных из таблиц Products и Fruits в подключенной базе данных TradeDev в локальную базу данных TradeDev.

  6. Щелкните правой кнопкой мыши экземпляр сервера Local и выберите Обновить.Просмотрите таблицы с помощью функции Просмотр данных, чтобы убедиться, что локальная база данных заполнена.

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

  8. Вставьте этот код на панели скриптов и нажмите кнопку Выполнить запрос, чтобы запустить запрос.

    select * from dbo.GetProductsBySupplier(1)
    
  9. В области Результаты, расположенной под областью редактора Transact-SQL, будут снова отображаться строки Apples и Potato Chips из таблицы Products.