43
DAT301ILL Лабораторная работа Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali"

Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

DAT301ILL

Лабораторная работа

Использование средств

разработки "Juneau" для

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

SQL Server "Denali"

Page 2: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

2 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Содержание 1. Описание среды выполнения лабораторной работы 3

1.1. Используемые компьютеры и виртуальные машины 3

1.2. Используемые учетные записи 3

2. Обзор лабораторной работы 3

2.1. Аннотация 3

2.2. Цели обучения 3

3. О лабораторной работе 4

3.1. Сценарий 4

4. Упражнение 1. Создание проекта баз данных SQL Сервера 6

4.1. Обзор 6

Запуск SSDT и установка подключения к базе данных DEV 7

5. Упражнение 2. Начало разработки баз данных 12

5.1. Обзор 12

6. Упражнение3. Синхронизация базы данных проекта 24

6.1. Обзор 24

7. Упражнение 4. Разработка проекта 30

7.1. Обзор 30

8. Упражнение 5. Синхронизация базы данных DEV 38

8.1. Обзор 38

9. Упражнение 6. Создание сценариев публикаций баз данных Dev 41

9.1. Обзор 41

Page 3: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

3 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

1. Описание среды выполнения лабораторной работы Во время выполнения данной лабораторной работы будут использоваться следующие

компьютеры или виртуальные машины.

1.1. Используемые компьютеры и виртуальные машины

В данной лабораторной работе используется одна виртуальная машина со следующими

характеристиками:

Параметр Значение

Имя компьютера MIAMI

Операционная система Windows Server 2008 R2

1.2. Используемые учетные записи

Во всех упражнениях настоящей лабораторной работы, если не указано иное, используйте

следующие учётные данные для доступа к серверам

Учетная запись Пароль

MIAMI \Administrator pass@word1

Если потребуется осуществить вход используете следующие сочетания клавиш :

Стратетегия Виртулизации Сочетание клавиш

Virtual Server Right-ALT-DEL

Hyper-V CTRL-ALT-END

2. Обзор лабораторной работы

2.1. Аннотация

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

данных с использованием инструментов разработчика SQL Server (SSDT) выпуска CTP3 .

Эта лабораторная работа демонстрирует возможности SSDT, позволяющие администраторам и

разработчикам взаимодействовать на каждом этапе жизненного цикла базы данных для

расширения производственной базы данных, обеспечивающих поддержку новых требований

бизнеса.

2.2. Цели обучения

После завершения выполнения упражнений данной лабораторной работы вы узнаете как:

Использовать базы данных SQL-сервера в проектах баз данных (SQL Database Projects) для

SSDT

Выполнять задачи по разработке баз данных с использованием средств SSDT

Обновлять структуру (т.е. схему)база данных SQL server , при помощи SSDT

Использовать SSDT для Сравнивать структуру (т.е. схему) баз данных SQL Server и базы

данных проектов с использованием SSDT

Page 4: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

4 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Предполагаемое время на выполнение лабораторной работы: 60 минут

Предполагается, что слушатель данной лабораторной работы уже имеет опыт:

Разработки баз данных на SQL Server , включая программирование на T-SQL

Работы с Visual Studio 2010

3. О лабораторной работе Microsoft. Разработчики.NET имеют очень продуктивный и зрелый опыт разработки с

использования средств Microsoft, таких как Visual Studio и Team Foundation Server. Цель SSDT

состоит в том, чтобы передать этот опыт администраторам баз данных и разработчикам базы

данных, работающим с платформой Сервера SQL . Сценарий данной лабораторной работа

продемонстрирует возможности SSDT.

3.1. Сценарий

Для повышения эффективности маркетинговых мероприятий в компании AdventureWorks отдел

Маркетинга начнет сегментацию своих клиентов на основе ряда характеристик. Со временем,

отдел Маркетинга планирует создать различные виды сегментации клиентов (например,

«Золотой» или «Премьер») и классифицировать / повторно классифицировать клиентов с этими

сегментации своих покупателей.

Реализация этого бизнес-требования приведет к изменениям в существующей промышленной

базе данных SQL сервера AdventureWorks.

Как и во многих магазинах ИТ служба AdventureWorks использует многоуровневую, мульти-среду

SQL сервера инфраструктуры, где инициируются изменения с низкого уровня сред, достигающие в

конечном итоге промышленного уровня. В настоящее время широко используются два из них –

Промышленный (PROD) и уровень Разработчика (DEV).

ИТ служба AdventureWorks будет использовать на новом уровне SQL Server Developer Tools для

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

разработчиков баз данных на новый инструментарий SSDT.

Упражнения данной лабораторной работы преследует две цели:

Проиллюстрировать, как AdventureWorks DBA и разработчик могут совместно работать с

использованием SSDT для завершения внедрения.

Проиллюстрировать возможности SSDT, позволяющие разработчикам работать как

напрямую с базой, так и с оффлайн-проектом.

Следующая диаграмма иллюстрирует рабочий процесс заданий на высоком уровне:

Page 5: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

5 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Page 6: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

4. Упражнение 1. Создание проекта баз данных SQL Сервера

4.1. Обзор

Среды базы данных PROD и DEV синхронизируются в то время как база данных

AdventureWorks остается в неизменном состоянии. Разработчик баз данных создает новый

проект базы данных SQL Server в базе данных AdventureWorks DEV для установления исходных

условий для функционирования в качестве отправной точки для включения каких-либо

изменений базы данных, которые не происходят в рамках проекта (Например Упражение2) и

любого будущего на основе проектов разработки (Например Упражение4).

При выполнении этого упражнения вы научитесь:

Подключать SSDT к экземплярам SQL Server

Просмотреть базы данных SQL сервера используя узел в обозревателе серверов

Создать проект базы данных SQL Server из имеющейся базы данных

Входные инструкции

для входа в систему воспользуйтесь следующими учетными данными:

Имя пользователя

Administrator

Пароль pass@word1

Page 7: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

7 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Важное задание

Для инициализации среды лабораторной среды запустите сценарий

SETUP.CMD из корня диска D:\. Если сценарий не будет запущен, то базы

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

ЗАДАНИЕ ПОШАГОВЫЕ ДЕЙСТВИЯ

Запуск SSDT и установка подключения к базе данных DEV

1. Запустите Visual Studio 2010 из меню Start | All Programs| Microsoft Visual Studio 2010.

2. При открытии Visual Studio 2010, найдите узел SQL Server в окне Обозреватель Серверов (Server Explorer) и щелкните правой кнопкой мышки. Если окно Обозреватель серверов не открыто, в меню Вид (View) выберите Обозреватель серверов (Server Explorer).

3. В появившимся контекстном меню выберите пункт - Добавить SQL Сервер (Add SQL Server)

4. В появившемся диалоговом окне Установка соединения с сервером (Сonnect to Server) введите localhost в поле Имя сервере (Server name).

Page 8: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

8 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. Нажмите кнопку Подключить (Connect), чтобы открыть соединение с SQL Server.

6. Откройте файл SetupDatabases.sql , который сохранен на диске D, и замените в нем путь для восстановления баз данных на диск D (эти файлы имеют расширение bak)

7. Для доступа к таблицам базы данных AdventureWorksLT_DEV откройте недавно добавленный узел SQL Server.

Page 9: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

9 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

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

1. В окне Обозреватель Сервера (Server Explorer) щелкните правой кнопкой мыши узлe базы данных AdventureWorksLT_DEV.

2. В открывшемся контекстном меню выберите пункт Создать Новый проект (Create New Project).

3. В Мастере импорта базы данных (Impart Database) в разделе Целевой проект (Target Project) в текстовом поле Имя (Name)

Page 10: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

10 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

задайте AdventureWorksLT.

4. Поставьте галочку напротив пункта Создать каталог для решения (Create Directory for Solution)

5. Остальные параметры оставьте по умолчанию и нажмите кнопку Начать (Start)

6. Дождитесь, когда Мастер импорта Базы Данных (Import Database)

завершит работу (это может занять несколько секунд). Затем, нажмите на

кнопку Завершить ( Finish). Мастер импорта базы данных(Import

Database) по умолчанию, организует исходные файлы T-SQL, создаваемые

им сначала схему базы данных, а затем тип объекта базы данных, в папки

проекта Visual Studio.

7. В окне Обозреватель решений (Solution Explorer ) откройте папку проекта

схемы SalesLT, а затем откройте папку Таблицы ( Tables) . По умолчанию

каждая таблица Базы данных импортируется в отдельный T-SQL файл.

Если окно Обозреватель Решений не открыто, то это можно сделать, выбрав Обозреватель Решений (Solution Explorer) в меню Вид (View).

Page 11: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

11 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. В меню Файл (File) выберите пункт -Закрыть решение (Close Solution), сохранив файлы.

Page 12: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

12 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. Упражнение 2. Начало разработки баз данных

5.1. Обзор

Администратор баз данных Adventure Work начнет реализацию нового бизнес требования

от отдела маркетинга с использованием средств SSDT для разработки базы данных

AdventureWorks Dev. А именно:

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

Добавит новый внешний ключ к таблице клиентов для присоединения клиентов к определенным сегментам.

Создаст представление, которое позволит бизнесу легко увидеть принадлежность клиентов к сегментам.

По окончании этого упражнения Вы сможете :

Использовать подключенный к базе данных SQL SSDT для решения следующих задач:

Создания новых таблиц в конструкторе таблиц с использованием средств SSDT

Безопасного обновления структуры (т.е. схему) базы данных при помощи SSDT

Создания представлений и других объектов баз данных SQL Server с использованием T-SQL

ЗАДАНИЕ ПОШАГОВЫЕ ДЕЙСТВИЯ

Создание новых таблиц

1. В Обозревателе серверов (Server Explorer) щелкните правой кнопкой мышки на папку Таблицы (Tables) узла базы данных AdventureWorksLT_DEV.

2. В открывшемся контекстном меню выберите пункт Добавить Новую таблицу (Add New Table)

3. В новом окне Конструктор таблиц (Table Designer) SSDT нажмите на столбец Id, переименуйте его на CustomerSegmentationId и

Page 13: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

13 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

нажмите клавишу <Tab> . Обратите внимание на то, что код, отражаемый во вкладке T-SQL, обновляется в режиме реального времени.

4. Во вкладке Конструктор (Design) окна Конструктор таблиц (Table Designer) правой кнопкой мышке щелкните на текстовое поле CustomerSegmentationId.

5. В открывшемся контекстном меню выберите пункт Свойства (Properties).

6. В окне Свойства (Properties) раскройте свойство Спецификация идентификации (Identity Specification) и поставьте значение подчинённого свойства Столбец идентификатора (Is Identity) Истина (True).

Обратите внимание на то, как в вкладке T-SQL окна Конструктор таблиц (Table Designer) происходит обновление кода после изменения значения свойства.

Page 14: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

14 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

7. В вкладке T-SQL окна Конструктор таблиц (Table Designer) измените T-SQL код на следующий:

CREATE TABLE [SalesLT].[CustomerSegmentation] ( [CustomerSegmentationId] int NOT NULL PRIMARY KEY IDENTITY, [Name] nvarchar (50) NOT NULL, [Description] nvarchar (2000) NULL )

Обратите внимание как вкладка Конструктора (Design) указывает вам на синтаксические ошибки при вводе неправильного/ неполного кода и показывает новые определения столбцов после того, как он становиться правильным.

Page 15: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

15 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Создание нового внешнего ключа

1. В окне Обозреватель Сервера, в папке Таблицы (Tables) узла базы данных AdventureWorksLT_DEV правой кнопкой мышке щелкните на таблицу SalesLT.Customer.

2. В открывшемся контекстном меню выберите пункт Конструктор представлений (View Designer).

Page 16: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

16 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

3. В вкладке Конструктор (Design) окна Конструктора таблиц (Table Designer) после столбца ModifiedDate добавьте столбец CustomerSegmentation. Столбец должен быть типа int и не быть обязательным для заполнения.

4. Во вкладке Контекст (Context) окна Конструктор таблиц (Table Designer) правой кнопкой мышке щелкните на пункт Внешние ключи (Foreign Keys).

5. В открывшемся контекстном меню выберите пункт Добавить внешний ключ (Add New Foreign Key).

Page 17: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

17 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

6. Щелкните на вкладку T-SQL окна Конструктор таблиц (Table Designer) и найдите следующий код на T-SQL:

CONSTRAINT [FK_Customer_ToTable] FOREIGN KEY ([Column]) REFERENCES [ToTable] ([ToTableColumn])

7. Замените его следующий:

CONSTRAINT [FK_Customer_CustomerSegmentation] FOREIGN KEY ([CustomerSegmentation]) REFERENCES [SalesLT].[CustomerSegmentation] ([CustomerSegmentationId])

Обратите внимание на то, как SSDT позволяют добавлять внешний ключ к таблице Customer из недавно определенной таблицы CustomerSegmentation. Во время разработки базы данных SSDT создает в памяти ее семантическую модель. Эта модель делает ключевыми возможностями SSDT: резолюцию объекта базы данных, IntelliSense и проверку/подсветка синтаксиса.

Обновление изменений в базу данных

1. В окне Конструктор Таблиц (Table Designer) на таблице Customer нажмите на кнопку Обновление Базы данных (Update Database) .

Page 18: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

18 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

Администраторам и разработчикам баз данных во время работы непосредственно с базой данных SSDT позволяет определить требуемую структуры базы данных (например, таблица Customer должна иметь внешний ключ к таблице CustomerSegmentation). SSDT определяет шаги, которые необходимо выполнить, чтобы отображалась

требуемая структура базы данных

В диалоговом окне Предварительный просмотра обновлений (Preview Database Updates) можно просмотреть действия,

которые будут выполнены

2. Диалоговое окно окне Предварительный просмотр обновлений (The Preview Database Updates) предлагается две опции применения обновлений базе данных: Сценарий (Script) и Обновление (Update). Кнопка Создать сценарий (Generate Script) запускает создание сценария на T-SQL, который откроется в новом

Page 19: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

19 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

окне SSDT. Этот сценарий до выполнения можно просмотреть

в базе данных . Обновите базу данных AdventureWorksLT_DEV путем нажатия кнопку Обновить базу данных (Update Database) .

3. В окне Вывод (Output) Visual Studio можно увидеть обратную связь с действиями по обновлению. Если выходные данные источника не установлены, измените значение на Обновление (Update).

4. Если окно Вывод (Output) не открыто. Сделать это можно выбрав пункт Вывод (Output) из меню Вид (View).

5. Операция обновления “продуманна”. Она позволяет

избежать действий “удалить и создать” , когда это

возможно, при этом обладая пониманием зависимости

объектов баз данных для получения надлежащего порядка

в редактировании объектов, включая переименования.

В окне обозревателя сервера (Server Explorer) ждите пока индикатор

обновления (зеленый квадрат в снимке экрана ниже) не появляется.

Щелкните правой кнопкой мышки на базу данных

AdventureWorksLT_DEV.

Щелкните правой кнопкой мышки на базу данных

AdventureWorksLT_DEV.

6. В контекстном меню выберите пункт – Обновить

(Refresh) .Визуальный индикатор в окне Обозревателя

серверов (Server Explorer) обозначает о необходимости

обновления ( зелёный квадрат на снимке ниже).

Page 20: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

20 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

7. В окне Обозреватель серверов (Server Explorer) откройте таблицу SalesLT.Customer, а затем раскройте в ней папку Ключи (Keys) и

выделите новый внешний ключ и таблицу базы данных.

Page 21: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

21 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. Закройте раскрытые таблицы Customer и CustomerSegmentation в окне Конструктор таблиц (Table Designer).

9. В окне Обозреватель сервера закройте папку Таблицы (Tables) в узле базы данных AdventureWorksLT.

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

10. В окне Обозреватель Серверов (Server Explorer) правой кнопкой мышки нажмите на папку Представления (Views) в узле базы данных AdventureWorksLT_DEV.

11. В открывшемся контекстном меню выберите пункт Создать новое представление (Add New View…).

Page 22: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

22 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

1. В отрывшемся окне сценариев T-SQL (T-SQL script) выполните приведенный ниже на T-SQL код.

CREATE VIEW [SalesLT].[vGetCustomersWithMarketingSegment] AS SELECT * FROM [SalesLT].[Customer]

Примечание. Обратите внимание на широкие возможности IntelliSense в SSDT.

2. В окне сценариев T-SQL (T-SQL script) завершите определение представления следующим T-SQL кодом.

CREATE VIEW [SalesLT].[vGetCustomersWithMarketingSegment] AS SELECT C.[CustomerID], C.[CompanyName], CS.[CustomerSegmentationId], CS.[Name], CS.[Description] FROM [SalesLT].[Customer] C

INNER JOIN [SalesLT].[CustomerSegmentation] CS ON (C.[CustomerSegmentation] = CS.[CustomerSegmentationId])

Page 23: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

23 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. В окне сценариев T-SQL (T-SQL script) нажмите на кнопку Обновить базу данных (Update Database).

6. В диалоговом окне Просмотр обновлений базы данных (Preview Database Updates) нажмите на кнопку Обновить базу данных (Update Database).

7. В окне Обозреватель серверов (Server Explorer) необходимо подождать обновления индикатора обновления, затем правой кнопкой мышки щелкнуть на узел базы данных AdventureWorksLT_DEV.

8. В открывшемся контекстном меню выберите пункт Обновить (Refresh).

9. В окне Обозреватель серверов (Server Explorer) отройте папку Представления (View) в узле базы данных AdventureWorksLT_DEV, отмечаем появление в окне нового представления SalesLT.vGetCustomersWithMarketingSegment..

10. Закройте все открытые окна сценариев T-SQL (T-SQL script).

Page 24: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

24 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

6. Упражнение3. Синхронизация базы данных проекта

6.1. Обзор

После завершения выполнения упражнения 2, администратор баз данных Adventure works завершил реализацию нового требования бизнеса отдела маркетинга. Проект базы был разработан в базе Adventures Work_DEV. Прежде чем приступить к дальнейшим действиям необходимо полученный проект базы данных синхронизировать с DEV.

Прежде чем разработчик баз данных завершит реализацию администратору баз данных

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

Это упражнение научит Вас:

Синхронизировать проект базы данных SQL Сервера с базой данных SQL Сервера ,

используя функцию сравнения схемы SSDT.

ЗАДАНИЕ ПОШАГОВОЕ ДЕЙСТВИЕ

1. В Visual Studio в меню Файл (File) в пункте Последние проекты и решения (Recent Projects and Solutions) выберите решение AdventureWorksLT.

2. SSDT предоставляет ряд мощных функций для синхронизации баз данных и SSDT базы данных проектов. Одной из этих функций является Сравнение схемы, которая обеспечивает графическое постепенное распространения изменений. В меню Данные (Data) в пункте Сравнение схемы SSDT (SSDT Schema Compare) выберите Новое сравнение схем (New Schema Comparison).

Page 25: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

25 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

В диалоговом окне Новое сравнение схем (New Schema Comparison) выберите параметр подключения к Базе данных (Database) для схемы Источника данных (Source Schema) и нажмите на кнопку Новое соединение (New Connection).

3. В диалоговом окне Свойства подключения (Connection Properties) в Имени сервера (Server Name) введите localhost и уставите значение параметра Имя база данных (Database name) AdventureWorksLT_DEV. Для закрытия окна Свойства подключения (Connection Properties) и принятия внесенных исправлений нажмите на кнопку ОК.

Page 26: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

26 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

4. В диалоговом окне Новое сравнение схем (New Schema Comparison) в пункте Проект(Project) выберите конечный проект для конечной схемы и нажмите кнопку ОК.

Page 27: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

27 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. Функция сравнения схем сопоставляет семантические модели базы данных AdventureWorksLT_DEV и проекта AdventureWorksLT , определяя какие изменения необходимо внести в конечный проект для их синхронизации.

Результаты отображаются в окне Сравнение Схем (Schema Compare).

6. В окне Сравнение схем (Schema Compare) щелкните мышкой на второй ряд вкладки Схема (Schema), соответствующей таблице CustomerSegmentation . Сравнение схем правильно указывает, что определение таблицы должна быть добавлена в проект.

Вкладка DDL окна Сравнение схем (Schema Compare) показывает различия между базой данных и проектом при помощи T-SQL и тепловой карты. Обратите внимание на то, что определение таблицы CustomerSegmentation выделяется как не существующее в проекте.

Page 28: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

28 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

7. В окне Сравнение схем (Schema Compare) нажмите на кнопку Обновление конечного проекта (Update Target). В появившемся диалоговом окне МАСТЕРА объектов базы данных (Master database objects) нажмите на кнопку Да (Yes).

Page 29: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

29 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. После завершения обновления проекта нажмите на кнопку OK. Обратите внимание на то, что в папке проекта Таблицы(Tables) появился файл CustomerSegmentation.sql.

9. Закройте окно сравнения схем не сохраняя файл.

Page 30: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

30 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

7. Упражнение 4. Разработка проекта

7.1. Обзор

После завершения Упражнения 3, проект базы данных SSDT синхронизован с базой данных DEV

AdventureWorks. Теперь разработчик базы данных может закончить реализацию новых бизнес-

требований отдела маркетинга с использованием:

Рефакторинга таблицы CustomerSegmentation для использования для использования

более коротких и удобных имен (например. CustomerSegment).

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

Тестирования/Отладки хранимой процедуры.

По окончании этого упражнения Вы сможете:

Использовать особенности производительности кода SSDTs для рефакторнга , поиска всех ссылок

(Find All References) и переходу к определению (GO TO Definition)

Использовать SSDT проект для создания объектов баз данных SQL Server

Отлаживать/тестировать проекты БД с использованием особенности SSDT - локальной БД

ЗАДАНИЕ ПОШАГОВЫЕ ДЕЙСТВИЯ

Использование кода оптимизации для рефакторинга таблицы

1. В окне Обозреватель сервера ( Solution Explorer) откройте папку Представления ( Views) в папке проекта SalesLT.

2. В окне Обозреватель сервера ( Solution Explorer) дважды щелкните мышкой на файл vGetCustomersWithMarketingSegment.sql.

3. В открывшемся окне Сценариев T-SQL ( T-SQL script) щелкните правой кнопкой мышки на [CustomerSegmentation] на конструкцию INNER JOIN в представлении.

4. В контекстном меню выберите пункт Найти все ссылки (Find All References).

Page 31: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

31 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. В окне Результаты символьного поиска ( Find Symbol Results) обратите внимание что представление CustomerSegmentation имеет ссылку на 2 других файлов проекта - CustomerSegmentation.sql и Customer.sql.

6. В окне сценариев T-SQL ( T-SQL script) щелкните правой кнопкой мышки

на 5-ую строчку окна.

7. В контекстном меню выберите пункт Перейти К определению(Go To Definition).

8. В открывшемся окне Сценариев T-SQL (T-SQL script) соответствующей таблице CustomerSegmentation щелкните правой кнопкой мышки на [CustomerSegmentation] в 1-ой строчке окна.

9. В контекстном меню выберите пункт Рефакторинг ( Refactor). В выпадающем контекстного меню выберите пункт Переименовать (Rename)…

Page 32: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

32 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

10. В диалоговом окне Переименовать ( Rename) значению Новое имя (New Name ) задайте [CustomerSegment]. После этого, нажмите на кнопку ОК.

11. В диалоговом окне Предварительный просмотр изменений ( Preview Changes) обратите внимание на то, что рефакторинг применится к 3 файлам, которые вернул поиск всех ссылок на шаге 5 данного упражнения .Нажмите кнопку Применить( Apply).

12. В окне Сценарий T-SQL (T-SQL script) соответствующей таблице CustomerSegmentation щелкните правой кнопкой мышки на [CustomerSegmentationId] во 2-ой строчке окна.

13. В контекстном меню выберите пункт Рефакторинг ( Refactor). В выпадающем контекстного меню выберите пункт Переименовать

Page 33: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

33 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

(Rename)…

14. В диалоговом окне Переименовать ( Rename) значению Новое имя (New Name ) задайте [CustomerSegmentId]. После этого, нажмите на кнопку ОК.

15. В диалоговом окне Предварительный просмотр изменений (Preview Changes) Нажмите кнопку Применить(Apply).

16. В окне Обозреватель Сервера ( Solution Explorer) в папке проекта Таблицы ( Tables) а щелкните правой кнопкой мышки на CustomerSegmentation.sql.

17. В контекстном меню выберите пункт Переименовать (Rename).

18. Переименуйте файл CustomerSegmentation.sql в файл CustomerSegment.sql.

19. Закройте все открытые окна Сценарий T-SQL (T-SQL script ).

Создание новой хранимой процедуры

1. В окне Обозревателя серверов ( Solution Explorer) щелкните правой кнопкой мышки на папку проекта SalesLT .

2. В контекстном меню выберите пункт Добавить (Add). В выподающим контекстном меню выберите пункт Новая папка (New Folder).

Page 34: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

34 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

3. Назовите новую папку Stored Procedures.

4. В окне Обозреватель серверов( Solution Explorer) два раза щелкните мышкой на папку Stored Procedures.

5. Из контекстного меню выберите Добавить (Add). В всплывающем контекстном меню выберите пункт хранимые процедуры( stored procedure)…

6. В диалоговом окне Добавление нового элемента( Add New Item) назовите ее uspAddCustomerSegment и щелкните на кнопку Добавить (Add ).

7. В открывшемся окне Сценарии T-SQL ( T-SQL script ) наберите ниже приведенный код на T-SQL. Еще раз подчеркнём богатую функциональную поддержку IntelliSense для разработки на T-SQL .

CREATE PROCEDURE [SalesLT].[uspAddCustomerSegment] @name nvarchar(50), @description nvarchar(2000) AS SET NOCOUNT ON INSERT INTO [SalesLT].[CustomerSegment] (Name, Description) VALUES (@segmentName, @description)

Page 35: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

35 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. В меню Построить ( Build) выберите пункт Построить решение ( Build Solution) (или нажмите на клавишу F6).

9. В меню Просмотр ( View) выберите пункт выходные данные ( Output) обратите внимание на то, что в Visual Studio реализован тот же стиль как в SSDT об ошибках и необъявленных параметров.

10. В меню Просмотр ( View) выберите пункт –Список ошибок(Error List). В окне Список ошибок(Error List) дважды щелкните на ошибку. Обратите внимание на то , как курсор переходит в проблемные участки кода в окне Сценариев T-SQL (T-SQL script).

Page 36: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

36 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

11. В открывшемся окне Сценарии T-SQL ( T-SQL script ) изменить код на следующий. Пронаблюдайте за тем окно Список ошибок ( Error List) обновляется после исправления кода T-SQL.

CREATE PROCEDURE [SalesLT].[uspAddCustomerSegment] @name nvarchar(50), @description nvarchar(2000) AS SET NOCOUNT ON INSERT INTO [SalesLT].[CustomerSegment] (Name, Description) VALUES (@name, @description)

12. В меню Построить( Build) выберите пункт (Построить решение) Build Solution.

Отладка и тестирование новой хранимый процедуры

1. В меню отладка( Debug) выберите пункт Начать отладку ( Start Debugging) (или нажмите на клавищу F5). Для выполнение данного действия может потребоваться несколько минут.

2. По умолчанию для отладки и тестирования в проектах SQL Server используется локальная изолированная база. Локальные базы данных функционируют как изолированная среда для обеспечения опыта быстрого кода – сборки-отладки. При этом, каждый цикл отладки SSDT обновляет локальные базы данных, чтоб отражать текущую структуру (т.е. схему ) проекта. В окне обозревателя серверов (Server Explorer) раскройте узел базы данных (Databases) , затем разверните узел локальных баз данных (Local)

Page 37: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

37 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

3. Подождите пока база данных AdventureWorksLT не укажет о необходимости обновления (обознается зеленым квадратом , смотри на скриншот выше). В окне обозревателя серверов ( Server Explorer) щелкните правой кнопкой мышки на узел базы данных AdventureWorksLT.

4. В контекстном меню выберите пункт - Обновить (Refresh).

5. В окне обозревателя серверов ( Server Explorer) раскройте узел базы данных AdventureWorksLT , затем узлы – Программирование ( Programmability) и Хранимые процедуры ( Stored Procedures) , в свою очередь SalesLT.uspAddCustomerSegment хранимая процедура.

Page 38: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

38 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. Упражнение 5. Синхронизация базы данных DEV

8.1. Обзор

Выполнив все задания Упражнения 4 , ИТ отдел AdventureWorks завершил реализацию новых бизнес-требований отдела маркетинга с использованием локальной Базы данных для тестирования и отладки кода. Следующий шаг для разработчика БД - обновление базы данных Adventure Works Dev с использованием возможности SSDT публикации для синхронизации БД с проектом.

По окончании этого упражнения Вы сможете:

Синхронизировать базу данных SQL Server с проектом базы данных , используя

возможность SSDT публикации

ЗАДАНИЕ ПОШАГОВЫЕ ДЕЙСТВИЯ

Синхронизация базы данных DEV

1. В окне Обозреватель Решений (Solution Explorer) правой кнопкой мышки щелкните на узел проекта AdventureWorksLT.

2. Из контекстного меню выберите пункт Опубликовать (Publish)...

3. В диалоговом окне Публикации Базы данных (Publish Database) нажмите кнопку Редактировать (Edit).

В диалоговом окне Свойства подключения (Connection Properties) В поле

Имя Сервера (Server name) введите localhost и выберите базу данных AdventureWorksLT_DEV. Нажмите на кнопку OK .

Page 39: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

39 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

4. В диалоговом окне Публикация Базы данных (Publish Database) нажмите кнопку Опубликовать (Publish).

5. В SSDT функция публикации использует аналогичную инфраструктуру, что и функция сравнения схем. SSDT сравнивает семантические модели проекта баз данных и семантическую модель базы данных Dev, определяя надлежащий порядок изменений структуры базы данных в соответствии с проектом базы данных. Во вкладке Сообщение (Message) в открывшемся окне сценарий T-SQL (T-SQL script) записываются действия, предпринятые в ходе публикации.

6. В окне Обозреватель сервера (Server Explorer) подождите пока база данных AdventureWorksLT не укажет о необходимости обновления.

7. Правой кнопкой мышки щелкните на узел базы данных AdventureWorksLT_DEV..

Page 40: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

40 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

8. В появившемся контекстном меню выберите пункт Обновить (Refresh).

9. В окне Обозреватель сервера (Server Explorer) откройте узел Таблицы (Tables) базы данных AdventureWorksLT и отметьте переименование таблицы SalesLT.CustomerSegment .

10. Закройте окно Сценарий T-SQL (T-SQL script).

Page 41: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

41 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

9. Упражнение 6. Создание сценариев публикаций баз данных Dev

9.1. Обзор

По завершении упражнения 5, база данных AdventureWorks DEV находится в

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

будет получено ободрение команды тестеров , изменения базы данных AdventureWorks будут

готовы для публикации в производственной среде. Согласно политикам службы информационных

технологий AdventureWorks, разработчики БД имеют ограниченный доступ к базе данных PROD,

поэтому разработчики создают сценарий обновления на языке T-SQL с использованием SSDT для

передачи администратору базы данных. Администратор базы данных затем может постепенно

обновлять базу данных при помощи SSMS или похожего инструмента (текущий завершающий шаг

не рассматривается в рамках лабораторной работы)

По завершении этого упражнения Вы сможете:

Создавать добавочные обновления сценариев T-SQL из проекта базы данных, с помощью

функции публикации SSDT.

ШАГ ПОШАГОВЫЕ ДЕЙСТВИЯ

Создание сценариев публикации базы данных Dev

1. В окне Обозреватель Серверов (Solution Explorer) правой кнопкой мышки щелкните на проект AdventureWorksLT.

2. В контекстном меню выберите пункт Опубликовать (Publish...)

3. В диалоговом окне Публикация база данных (Publish Database) нажмите на кнопку Редактировать (Edit).

4. В диалоговом окне Свойства подключения (Connection Properties) выберите базу данных AdventureWorksLT_PROD. Нажмите на кнопку ОК.

Page 42: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

42 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

5. В диалоговом окне Публикация Базы данных (Publish Database) нажмите на кнопку Сгенерировать Сценарий (Generate Script).

6. Как говорили ранее, Функции сравнения схем сравнивает семантические модели базы данных AdventureWorksLT_Prod и проекта база данных.

В Открывшемся окне сценарий T-SQL (T-SQL script)содержит обновления, необходимые для синхронизации базы данных AdventureWorksLT_Prod и проекта базы данных. Нажмите на появившееся окно Сценарий T-SQL (T-SQL script) и нажмите сочетание клавишу <Ctrl+F>.

7. В диалоговом окне Найти и заменить (Find and Replace) в текстовое поле Что искать (Find what) ведите :[CustomerSegment]. Нажмите на кнопку Искать далее (Find Next).

8. В окне Сценарии T-SQL (T-SQL script) обратите внимание на то, каким образом сценарий PROD добавляет определения для создания таблицы SalesLT.CustomerSegment .

Page 43: Использование средств разработки 'Juneau' для ... · 2016-08-23 · 6 Microsoft Tech∙Ed Russia 2011. Лабораторная работа. Использование

43 Microsoft Tech∙Ed Russia 2011. Лабораторная работа.

Использование средств разработки "Juneau" для разработки баз данных под SQL Server "Denali".

9. Закройте Visual Studio.

10. На этом завершается лабораторная работа.