Курсы по SQL Server 2012 уже читают ведущие

Download Report

Transcript Курсы по SQL Server 2012 уже читают ведущие

DevCon•12
// msdevcon.ru
23-24 мая, 2012 г.
Microsoft
#msdevcon
SQL Server Data Tools
// DevCon•12
Алексей Шуленин
Департамент стратегических технологий
Microsoft
http://blogs.technet.com/b/isv_team/
Что такое SQL Server Data
Tools (SSDT)?
#msdevcon
Проекты VS по разработке БД SQL Server отделены от VS и
распространяются (бесплатно) в виде отдельного средства
Не требует наличия Visual Studio
Но может ставиться как довесок к VS2010 Pro и выше
ОС: Windows Vista SP2 , Windows 7 SP1, Windows Server 2008 SP2, Windows Server 2008R2 SP1
Входит по умолчанию в VS’11
Оболочка VS2010 c шаблонами BI-, CLR-, DB-проектов
Ранее существовали в разных инструментах: BI Development Studio (BIDS), Visual Studio Team System
2008 Database Edition, Visual Studio 2010 for Database Professionals (Data Dude), ...
Не есть замена SSMS
Акцент на разработку, а не администрирование
Не содержит графических средств управления резервным копированием, расширенными
событиями, ...
Проектирование объектов схемы БД
Работает в соединенном с SQL Server и отсоединенном режимах
Автоматическая генерация скриптов при деплойменте
Контроль версий на уровне схемы
Основной тип проекта - SQL Server Database Project
Другие проекты SSDT (Database\SQL Server)
DACPAC
CLR-хранимые
процедуры, функции,
агрегаты, типы
датабазные проекты для
предыдущих (2008, 2005)
версий SQL Server
В VS11 Beta1 не
поддерживаются
В папке BI традиционно располагаются проекты
для создания отчетов Report Designer, пакетов
SSIS, многомерных и (новое в 2012!) табличных
баз SSAS
•
Избавляет большинство разработчиков от необходимости устанавливать
SSMS
− SQL Server OBJECT EXPLORER
•
•
•
Разработка и отладка при помощи LocalDB не требует полноценной
установки SQL Server
Единый инструмент, обеспечивающий полный жизненный цикл
разработки приложений, ориентированных на работу с данными
Окна: GUI, T-SQL, свойств – изменения, сделанные в одном, тут же
отражаются в остальных
Целевые платформы
•
Один проект может разрабатываться под несколько платформ
− Разные версии SQL Server
− SQL Azure
•
Специфические от билда предупреждения / сообщения об ошибках
Основные возможности
Рефакторинг
Поддержка “Goto Definition” и “Find All References” для объектов БД аналогично проектам C#, VB.NET
Напр., можно кликнуть на колонку и найти все ссылки на нее внутри базы (в индексах, представлениях,
хр.процедурах, ...) и выполнить рефакторинг
Раскрытие *
Приведение имен объектов к ¾ part qualified
Deployment Engine использует фактические операции переименования и move schema вместо DROP / CREATE
Возможность расширения собственными типами и целями рефакторинга
Редактор T-SQL
Oснованный на .NET парсер T-SQL для 2005-2012
IntelliSense
отладка
В 1-й версии SSDT отсутствуют:
Database Unit Testing
Анализ статического кода T-SQL
Сравнение схем и данных и генерация T-SQL для синхронизации
Генерация тестовых данных
Предполагается их туда включить – см. Is SSDT a replacement of the Visual Studio for Database Professionals ("Data
Dude") Product?
Домашняя страница SSDT
http://msdn.microsoft.com/en-us/data/gg427686
Установка SSDT
#msdevcon
В случае VS2010
http://msdn.microsoft.com/en-us/data/hh297027
После штатной установки SQL Server 2012
Несмотря на отмеченную в сетапе галку установки SSDT как таковой
не происходит
Она случится после выбора SSDT в стартовом меню ->
Microsoft SQL Server 2012
Либо после первого обращения к проекту SSDT в среде
Visual Studio
После этого запускается уже знакомый веб-инсталлятор, и название
проекта SSDT сменяется на SQL Server Database Project
Оффлайновая установка SSDT
Если на машине нет выхода в
Интернет, там, где он есть,
следует создать Administrative
Install Point
Выбираем ссылку в
зависимости от языка
Скачиваем SSDTSetup.exe
SSDTSetup.exe /?
И запускаем его с ключом C:\Distrib\SSDTSetup.exe
/layout C:\Distrib\aaa
(Директории ааа не существовало)
Это процесс не быстрый, т.к. он не знает, что из
пререквизитов есть на целевой машине и скачивает все,
что может пригодиться
Получившийся оффлайновый пакет установки весит 1.69 GB
В случае VS’11
Все уже присутствует:
Использование SSDT
#msdevcon
DACPAC = Data-tier application component package
Упаковка структуры всех поддерживаемых объектов базы в
самодостаточный архивный файл DACPAC
сродни msi или манифесту
это способ представить базу в виде приложения
Механизм появился в SQL Server 2008R2
Наверное, DAC - не слишком удачная аббревиатура, т.к. это dedicated admin
connection
С другой стороны, DTA тоже занято под database tuning advisor 
Приложения DACPAC интегрируются с Utility Control Point и позволяют устанавливать в себя
политики Policy-based Management Framework
Экспорт базы в DACPAC
Визард подключается к базе данных, считывает ее
объекты и их свойства и создает в памяти модель БД
Подобно тому, как определенные объекты
проверяются в процессе сборки сборки, так и здесь
происходит проверка на согласованность
если какое-нибудь представление ссылается на
несуществующую таблицу, произойдет ошибка, как и в случае
Т-SQL
и самодостаточность
все ссылки и зависимости не выходят за пределы текущей базы
Не дозволенные в SQL Azure или не
поддерживаемые в in-memory модели DAC объекты
блокируются
После валидации построенная в памяти модели
DACPAC записывается на диск.
DACPAC по формату zip-архив
Форматы содержимого
model.sql - обычный DDL-скрипт создания объектов БД
model.xml - его XMLное представление в формате, понимаемом DAC
Framework (DAC Fx)
Описание – см. [MS-DACPAC]: Data-Tier Application Schema File Format Structure Specification
Открытие в SSDT
Создаем новый проект, в Solution Explorer в контекстном меню проекта
выбираем Import -> Data-tier Application (*.dacpac)...
Редактирование
Открывается
нормальный проект SQL
Serverной базы, как если
бы ее создавали с нуля
Производим в нем
необходимые правки
Сохранение из SSDT в DACPAC
В контекстном меню проекта пункт Snapshot Project
В папке проекта (напр., ...\Northwind\Snapshots, а также в ...\Northwind\bin\Debug)
образуются дакпаки, запечатлевшие его текущее состояние:
Развертывание базы
Производится из SSMS на любой SQL Server, совместимый с
версией DAC Fx, включая облачный
Data Tier Application Framework
Microsoft.SqlServer.Dac.dll (пространства имен Microsoft.SqlServer.Dac
и Microsoft.SqlServer.Dac.Extensions)
Отдельно можно скачать в составе Microsoft® SQL Server® 2012
Feature Pack
DAC Fx 1.0 - с SQL Server 2008R2
DAC Fx 2.0 - c SQL Server 2012 CTP3
добавлена поддержка геопространственных типов, упаковкa в архив
не только схемы, но и самих данных (import/export), in-place upgrade
DAC Fx 3.0 - c SQL Server 2012 RTM
Upgrade in-place
Ранее применялся подход side-by-side
Чтобы доставить изменения на SQL Server, создавалась новая база с временным именем, в которой генерировались объекты из
DACPAC, переливались данные из старой базы, старая база дропалась, новая переименовывалась в старую
Это требовало в два раза больше места на сервере и делало бесполезным T-Log
Tеперь c помощью компоненты ScriptDom генерируются скрипты, которые с учетом версии SQL
Server стараются по максимуму обойтись командой ALTER для обновления схемы
Upgrade in-place
Импорт/экспорт (вместе с данными)
Возможность появилась в DAC Fx 2.0
Опция Export Data-tier application доступна в контекстном меню в SSMS наряду с Extract
В отличие от эстракта проверяет экспортируемые объекты на соответствие ограничениям SQL Azure
Эти проверки нельзя отключить, если база переносится не в Облако, а между двумя инстансами
обычного SQL Server
Можно выбрать, какие таблицы переносятся вместе с данными, но
схемы генерируются (и проверяются) для всех
Результирующий файл имеет расширение
bacpac
По-вид., b призванa символизировать bulk copy или
backup, поск. в SQL Azure отсутствует возможность
классического BACKUP/RESTORE
Так же архив
Помимо структуры базы в знакомом файле model.xml
имеется папка Data. Она состоит из подпапок по одной на
каждую из отмеченных на Рис.4 таблиц
В них хранятся табличные данные в формате JSON и
файлы с расширением .bin, соответствующие бинарным
ячейкам.
Подробнее разбирать не будем, т.к. в отл. от DACPAC BACPAC нельзя
открыть в SSDT
Итак,
DACPAC - схема базы. Получается в SSMS -> Object Explorer как БД -> Tasks -> Extract Data-tier Application.
Обратное действие: Databases -> Deploy Data-tier Application.
Dacpac можно открывать в SSDT: новый SQL Server Database Project -> Solution Explorer -> проект ->
Import -> Data-tier Application (*.dacpac). Обратное действие - проект -> Snapshot Project.
Поддерживается in-place upgrade сделанных изменений в базу на SQL Server (SQL Azure): БД -> Tasks ->
Upgrade Data-tier Application, подсунуть модифицированный dacpac.
BACPAC - схема вместе с данными. БД -> Tasks -> Export Data-tier Application. Обратное действие:
Databases -> Import Data-tier Application. Апгрейд базы не поддерживается.
SSDT – бесплатная оболочка VS для работы с БД- проектами. В VS’11 входит по умолчанию.
Содержит шаблоны
SQL Server Database Project (Import <- DACPAC <- Snapshot)
BI: SSIS, SSAS, SSRS; CLR; пред.версии
Учебные курсы и
сертификационные экзамены
#msdevcon
MCM: BI
SQL Server BI Microsoft Certified Master: Lab Exam (выпуск – 3
квартал 2012)
MCM: DA
SQL Server 2012 Microsoft Certified Master: Knowledge Exam
(выпуск – 3 квартал 2012)
SQL Server 2012 Microsoft Certified Master: Lab Exam (выпуск –
3 квартал 2012)
MCPD: BI
70-467: Designing Business Intelligence Solutions with Microsoft
SQL Server 2012 (выпуск – 2 квартал 2012)
MCITP: DB Pro
70-466: PRO: Administrating the Microsoft® SQL Server® Data
Platform (выпуск – 2 квартал 2012)
10779: Designing Database Solutions for Microsoft® SQL Server® Code
Name “Denali” (Q2 CY12)
MCTS: BI
70-466: TS: Implementing Data Models and Reports with Microsoft
SQL Server 2012 (выпуск – 2 квартал 2012)
70-463: TS: Implementing a Data Warehouse with Microsoft SQL
Server 2012 (выпуск – 2 квартал 2012)
10778: Implementing Data Models and Reports with Microsoft SQL Server
2012 (5 дней)
MCTS: DD
70-464: TS: Developing Microsoft SQL Server 2012 Databases
(выпуск – 2 квартал 2012)
70-461: TS: Querying Microsoft SQL Server 2012 (выпуск – 2
квартал 2012)
10776: Developing Microsoft® SQL Server® 2012 Databases (5 дней)
MCTS: DA
70-462: TS: Administering Microsoft SQL Server 2012 Databases
(выпуск – 2 квартал 2012)
70-461: TS: Querying Microsoft SQL Server 2012 (выпуск – 2
квартал 2012)
10775: Administering Microsoft® SQL Server® 2012 Databases (5 дней)
10777: Implementing a Data Warehouse with Microsoft® SQL Server®
2012 (5 дней)
10774: Querying Microsoft® SQL Server® 2012 (5 дней)
•
В Москве и всех городах России (онлайн-подключение к тренингам):
Специалист (www.specialist.ru)
Софтлайн (http://edu.softline.ru/)
Звезды и С (www.stars-s.ru/)
В Москве:
o Микроинформ (www.microinform.ru)
o
o
o
•
•
В Санкт-Петербурге:
o
•
•
Эврика (www.eureca.ru/edu/)
на веб-сайте www.microsoft.ru/learning
по адресу: [email protected]
Пожалуйста
Оцените доклад и мастерство докладчика.
Форма для оценки находится в вашем инфопакете.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the
part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.