SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Podobné dokumenty
Úvod do Entity Frameworku

Praktické zkušenosti s Azure DevOps

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Novinky ve Visual Studio Tomáš Kroupa

Diagnostika webových aplikací v Azure

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Programování a implementace Microsoft SQL Server 2014 databází

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Optimalizace SQL dotazů. RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

M Administrace Microsoft SQL Server Popis: Absolvent kurzu bude umět: Požadavky pro absolvování kurzu: Kurz určen pro: Literatura:

IW3 MS SQL SERVER 2014

Dotazy na event #E256

Seznámení s prostředím dot.net Framework

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

Mib:S4Road přechod k SAP S/4HANA. Jiří Palát

Microsoft Azure Workshop

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Vývoj univerzálních aplikací pro Windows 10. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

Od klasického reportingu k SAP BO Design studio na BW power by HANA Pavel Strnad

Microsoft SQL Server v cloudu. RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Vytvoření.NET komponenty (DLL) ve Visual Studiu

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Co je potřeba k realizaci příkladu

Technologie Sharepoint

Enterprise funkce SQL Serveru 2016, které jsou od SP1 zdarma

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange

Microsoft Access tvorba databáze jednoduše

Zajištění dostupnosti vybraných IT služeb

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12

Nové jazykové brány do Caché. Daniel Kutáč

BIOMEDICÍNSKÝ SYSTÉM PRO AGENTURY DOMÁCÍ PÉČE. Ondřej Krejcar, Dalibor Janckulík, Leona Motalová

Business Intelligence

Indexace pro souborová uložiště a Vyhledávací centrum

Platforma Microsoft zajistila společnosti ISS nový finanční analytický systém

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft

Úvod do Web Services

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Obsah. Verze SQL Serveru

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Komponentový návrh SW

Nástroje pro průběžnou integraci a testování

Daniela Lišková Solution Specialist Windows Client.

InterSystems Caché Post-Relational Database

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

MS SQL Server 2008 Management Studio Tutoriál

MST - sběr dat pomocí mobilních terminálů on-line/off-line

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

DOCUMENT MANAGEMENT TOOLKIT

Možnosti využití cloudových služeb pro provoz IT

Implementace cloudové aplikace

První kroky s METEL IEC IDE

Jak testovat software v praxi

Stěhování aplikací. Michal Tomek, Sales Manager

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb

Příloha 1 Specifikace předmětu plnění

Příprava k certifikaci , TS: Windows 7, Configuring

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Ukázka knihy z internetového knihkupectví

Řízení reálných projektů, agilní metodiky

Databázové systémy Cvičení 5.2

Připravte se na konjunkturu se systémem řízení údržby SGM. SGM moderní nástroj pro řízení údržby nejen výrobních zařízení

Otevřený katastr (OK)

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU bez limitu Obsahuje podporu

programátor vs. vývojář

Konverze systému MIBCON na S/4HANA. Jiří Suchánek Michaela Guthová

Předmětem části B) veřejné zakázky je dodávku existujícího licencovaného softwaru dle této technické specifikace.

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

Metadata. RNDr. Ondřej Zýka

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Tomáš. Kutěj. Technical Solution Specialist Office platform

Nintex Workflow 2007 je nutné instalovat na Microsoft Windows Server 2003 nebo 2008.

Internetový obchod ES Pohoda Web Revolution

ČMSS: CRM systém pro efektivní práci s klienty

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Doporučeno pro předpokládané využití serveru pro zpracování 2000 dokumentů měsíčně. HW: 3GHz procesor, 2 jádra, 8GB RAM

1 Webový server, instalace PHP a MySQL 13

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

TÉMATICKÝ OKRUH Softwarové inženýrství

Zpráva o zhotoveném plnění

Vladimír

Windows 2008 R2 - úvod. Lumír Návrat

DUM 12 téma: Příkazy pro tvorbu databáze

Moderní metody automatizace a hodnocení marketingových kampaní

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

1. Webový server, instalace PHP a MySQL 13

RDF DSPS ROZVOJ PORTÁLU

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Transkript:

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Představení nástroje SQL Server Data Tools Nástroj na vývoj databázových řešení, který se integruje do Visual Studia 2015 Od verze 2015 je součástí instalátoru Zdarma ke stažení Hlavní scénáře použití: Vývoj databázového projektu bez připojení k databázi Vývoj databáze přímo na SQL Serveru Překryv funkcionality se SQL Server Management Studiem Sada nástrojů pro porovnání schématu i dat v databázi Vývoj SQL CLR objektů Vývoj Business Intelligence projektů (dříve Business Intelligence Development Studio)

Databázový model SSDT nepracují přímo s databází, ale udržují si její schéma v podobě deklarativního modelu Model je generován z existující databáze z databázového projektu, který je kolekcí SQL skriptů definujících objekty v databázi Tento model je využíván pro: Implementaci databáze, změny databázových objektů, pokročilý refaktoring Poskytuje IntelliSense, na který jsme zvyklí z Visual Studia Je možné jej zkompilovat do podoby SQL skriptu nebo DACPAC balíčku Konverzi databáze do více různých verzí SQL Serveru

Data Tier Application Framework DACPAC Schéma databáze a související objekty v XML Zjednodušení nasazení na SQL Server Automatický upgrade schmématu Nepodporuje data BACPAC Schéma databáze v XML Data vyexportovaná s pomocí BCP Používá se pro migraci databáze do/z Azure SQL Database

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Vývoj databáze přímo na SQL Serveru Velmi podobná funkcionalita jako nabízí SQL Server Management Studio SQL Server Object Explorer zpřístupňuje objekty v databázi Objekty je možné editovat s pomocí Designeru nebo v podobě SQL skriptu Power Buffer Sleduje všechny změny, které provádíme nad otevřenými objekty v připojené databázi Umožňuje vygenerovat Change Skript pro všechny změny najednou

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Vývoj databázového projektu SSDT přidávají do Visual Studia SQL Server Database Project Projekt uchovává schéma celé databáze v podobě sady DDL SQL skriptů Každý objekt má svůj oddělený soubor s definicí Výhodné kvůli zámkům a konfliktům při týmovém vývoji Virtuálně je nad těmito skripty vygenerován databázový model IntelliSense, validace V kombinaci se source controlem je verzována každá změna ve schématu databáze

Synchronizace změn mezi projektem a databází Nástroj Schema Compare umožní velmi rychle identifikovat a přenést změny mezi: Databází a databázovým projektem Dvěma databázemi Změny určené k přenosu jsou vygenerovány do podoby change skriptu, který můžete dále upravovat, rozšířit o migrace dat, otestovat a použít na produkci Nástroj hlídá, aby nedošlo k poškození uložených dat (lze vypnout)

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Příprava databáze na týmový vývoj Cíl: Vývojář si stáhne ze source controlu aktuální verzi databáze, nasadí ji lokálně a může vyvíjet aplikaci Schéma databáze je uloženo v databázovém projektu Je třeba vyřešit přenos dat Číselníky, které vyžaduje aplikace pro svůj běh Mnohdy není žádoucí vývoj aplikace nad prázdnou databází, proto musíme připravit i testovací data jako součást projektu

Příprava databáze na týmový vývoj 1. Vytvoříme databázový projekt 2. Projekt nebo celé solution z Visual Studia publikujeme do source controlu 3. Import dat vyřešíme s pomocí SQL skriptů, které spustíme jako post-build akci 4. Vytvoříme deployment konfiguraci pro nasazení databáze

Příprava skriptu vkládajícího data Pro vygenerování skriptu na vložení dat je možné použít nástroj Data Compare S pomocí něj se nechá vygenerovat SQL skript na vložení dat do prázdné databáze Skript je nutné označit build akcí PostDeploy, aby se sám spustil po nasazení databáze

Parametrizace skriptů PostDeploy skripty mohou obsahovat vstupní parametry Lze jimi ovlivnit např. jaká část dat bude nakopírována do databáze SQLCMD Variables je nutné definovat v nastavení projektu

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Nasazení Continuous Integration Kompilace databáze a její nasazení bude realizováno build serverem na základě aktuálních zdrojových kódu v source controlu Výhody: Automatické ověření, že uložený projekt v source controlu je zkompilovatelný Automatická publikace databáze pro staging verzi aplikace po každé změně databáze Automatické pouštění databázových unit testů po každé změně databáze

Konfigurace build serveru Databázový projekt se kompiluje přes MSBuild jako jiné projekty Z tohoto důvodu je možné využívat jakýkoliv build server Visual Studio Online Cloudová varianta Team Foundation Serveru Zahrnuje zdarma 240 minut běhu buildů Ve verzi 2015 obsahuje nový build server V rámci daného solution vytvoříme build konfiguraci, která kompiluje jen databázový projekt

Kompilace databázového projektu Nejprve necháme zkompilovat databázový projekt

Nasazení databázového projektu Po zkompilování databázového projektu jej necháme nasadit na SQL Server nebo do Azure SQL Database Umístění cílové databáze je dáno publikačním profilem, který jsme založili v našem projektu

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy

Databázové unit testy Opakovaně ručně testovat uložené procedury, funkce a pohledy je velmi časově náročné Je nutné připravit data a ověřit, že výsledky odpovídají očekávání Tento problém řeší automatizace databázových testů Databázový unit test automaticky ověří korektnost testovaného objektu Problém: Unit testy vyžadují, aby v databázi byla známá data Je třeba rozhodnout, která data budu součástí build skriptů databáze a která data si nachystá přímo test Po provedení testu je třeba efektivně uklidit, aby se testy neovlivňovaly

Podpora databázových testů v SSDT Ze SQL Server Object Exploreru je možné si nechat vygenerovat databázový unit test Databázový unit test se skládá z: Pre-test příprava data pro test Test exekuce testovaného objektu, porovnání výsledků Post-test úklid Je několik způsobů, jak ověřit správnost výsledku: Počet řádků, které se vrací po exekuci Návratová hodnota Data Checksum kontrola, že se vrací identické výsledky

Vlastní implementace Dostupné databázové unit testy nebyly dostatečně flexibilní Nedostatek možností, jak jednoduše validovat výsledky Zdlouhavá tvorba Pro testování databáze používáme klasický testovací projekt a unit testy Využíváme TransactionScope pro izolaci všech změn provedených při běhu testu, které jsou po dokončení testu zrušeny (roll-back) Pro komunikaci s databází využíváme O/R mapper LINQ to SQL Voláme s pomocí něj testované objekty Nastavujeme a kontrolujeme data v databázi

Osnova 1. Představení nástroje SQL Server Data Tools 2. Vývoj databáze přímo na SQL Serveru 3. Vývoj databázového projektu bez připojení k databázi 4. Příprava databáze na týmový vývoj 5. Nasazení Continuous Integration 6. Databázové unit testy