DevCon•12// msdevcon.ru
#msdevcon
23-24 мая, 2012 г.Microsoft
// DevCon•12
SQL Server Data Tools
Алексей Шуленин
http://blogs.technet.com/b/isv_team/
Департамент стратегических технологийMicrosoft
#msdevcon
Что такое SQL Server Data Tools (SSDT)?
Проекты 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) DACPACCLR-хранимые процедуры, функции, агрегаты, типы датабазные проекты для предыдущих (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 qualifiedDeployment Engine использует фактические операции переименования и move schema вместо DROP / CREATE Возможность расширения собственными типами и целями рефакторингаРедактор T-SQLOснованный на .NET парсер T-SQL для 2005-2012IntelliSenseотладкаВ 1-й версии SSDT отсутствуют:Database Unit TestingАнализ статического кода T-SQLСравнение схем и данных и генерация T-SQL для синхронизацииГенерация тестовых данныхПредполагается их туда включить – см. Is SSDT a replacement of the Visual Studio for Database Professionals ("Data Dude") Product?
Домашняя страница SSDThttp://msdn.microsoft.com/en-us/data/gg427686
#msdevcon
Установка SSDT
В случае VS2010http://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.exeSSDTSetup.exe /?
И запускаем его с ключом C:\Distrib\SSDTSetup.exe /layout C:\Distrib\aaa(Директории ааа не существовало)
Это процесс не быстрый, т.к. он не знает, что из пререквизитов есть на целевой машине и скачивает все, что может пригодитьсяПолучившийся оффлайновый пакет установки весит 1.69 GB
В случае VS’11Все уже присутствует:
#msdevcon
Использование SSDT
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 FrameworkMicrosoft.SqlServer.Dac.dll (пространства имен Microsoft.SqlServer.Dac и Microsoft.SqlServer.Dac.Extensions)Отдельно можно скачать в составе Microsoft® SQL Server® 2012 Feature PackDAC Fx 1.0 - с SQL Server 2008R2DAC Fx 2.0 - c SQL Server 2012 CTP3добавлена поддержка геопространственных типов, упаковкa в архив не только схемы, но и самих данных (import/export), in-place upgradeDAC Fx 3.0 - c SQL Server 2012 RTM
Upgrade in-placeРанее применялся подход side-by-sideЧтобы доставить изменения на SQL Server, создавалась новая база с временным именем, в которой генерировались объекты из DACPAC, переливались данные из старой базы, старая база дропалась, новая переименовывалась в старуюЭто требовало в два раза больше места на сервере и делало бесполезным T-LogTеперь 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; пред.версии
AlwaysOn Reliable SecondariesFileTableColumnStore Index
15k Partitions
SQL Server Data ToolsPower ViewBI Semantic Model
Data Quality ServicesFull-Text Search Performance
Distributed Replay
Reporting Alerts
ODBC Driver for Linux
Statistical Semantic SearchWindows Server Core Support
Multiple Secondaries
Availability GroupsDefault Scheme for Windows Groups
T-SQL Enhancements
Full Globe Spatial
SSMS to Windows Azure Platform
PowerPivot Enhancements
Master Data Management Excel Add-in
PowerShell 2.0 Support
PHP & Java Connectivity
SQL Audit for All Editions
CDC Support for SSISNew SSIS Design Surface
Online Operation EnhancementsMulti-site Clustering
Unstructured Data Performance
Resource Governor Enhancements
Database Recovery Advisor
HA for StreamInsight
Flexible Failover Policy
Extended Events Enhancements
Contained Database Authentication
SharePoint Active Directory Support
SQL Server Express LocalDB
User-defined Audit
Audit Filtering
Audit Resilience
FTS Support for Czech and Greek
AlwaysOn Connection Director
Ad Hoc ReportingSSIS Troubleshooting
SSIS Package Management
T-SQL Debugger Enhancements
Spatial 2D Support
Unstructured Data Performance
#msdevcon
Учебные курсы и сертификационные экзамены
SQL Server 2012: курсы и экзаменыCERTIFICATION EXAMSCREDENTIAL CLASSROOM TRAINING
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 дней)
10777: Implementing a Data Warehouse 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 дней)
10774: Querying Microsoft® SQL Server® 2012 (5 дней)
SQL Server 2012: учебные центрыКурсы по SQL Server 2012 уже читают ведущие авторизованные учебные центры Microsoft: • В Москве и всех городах России (онлайн-подключение к тренингам):
o Специалист (www.specialist.ru)o Софтлайн (http://edu.softline.ru/)o Звезды и С (www.stars-s.ru/)
• В Москве: o Микроинформ (www.microinform.ru)
• В Санкт-Петербурге: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.