Практическое руководство. Создание и развертывание в локальной базе данных

SQL Server предоставляет локальный экземпляр сервера по запросу с именем SQL Server Express Local Database Runtime (LocalDB), который активируется при отладке проекта базы данных SQL Server. Этот экземпляр локального сервера можно использовать в качестве песочницы для создания, тестирования и отладки проекта.

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

Ограничения

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

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

В следующих процедурах используются сущности, созданные с помощью процедур, которые описывались ранее в разделах Connected Database Development (Разработка подключенной базы данных) и Project-Oriented Offline Database Development (Разработка базы данных вне сети с учетом проекта).

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

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

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

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

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

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

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

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

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  7. В области сообщений отображается (0 row(s) affected)панель "Результаты", а панель результатов не возвращает строк. Это связано с тем, что мы запрашиваем локальную базу данных вместо подключенной базы данных, которая фактически содержит реальные данные.

    Это можно подтвердить, щелкнув правой кнопкой мыши таблицу Products в этой локальной TradeDev базе данных, и выберите "Просмотреть данные". Таблица пуста.

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

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

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

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

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

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

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

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

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

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

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  9. В области результатов под областью редактора Transact-SQL вы увидите, что Apples возвращаются строки Products таблицы.Potato Chips