Ľuboslav Lacko. Mistrovství v SQL Server 2012

Podobné dokumenty
Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

Obsah. Verze SQL Serveru

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

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

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

MBI - technologická realizace modelu

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

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

Cloud Slovník pojmů. J. Vrzal, verze 0.9

POZVÁNKA NA KURZY. Literatura Ke všem kurzům jsou poskytovány metodické příručky pro školství v elektronické podobě.

Business Intelligence

Informační systémy 2006/2007

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

PRODUKTY Tovek Server 6

Základy business intelligence. Jaroslav Šmarda

Základní informace o co se jedná a k čemu to slouží

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)


IW3 MS SQL SERVER 2014

BIG DATA. Nové úlohy pro nástroje v oblasti BI. 27. listopadu 2012

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

Služby datového centra

Služby datového centra

Microsoft Access tvorba databáze jednoduše

Databáze Bc. Veronika Tomsová

Stručný obsah. K2118.indd :15:27

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

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

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

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

CA AppLogic platforma typu cloud pro podnikové aplikace

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

1. Webový server, instalace PHP a MySQL 13

Wonderware Information Server 4.0 Co je nového

Služby Microsoft Office 365

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Infor Performance management. Jakub Urbášek

Příprava dat v softwaru Statistica

Specifikace předmětu zakázky

Ukázka knihy z internetového knihkupectví

Případová studie.

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

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Program vyhodnocení rizik a stavu pro službu Active Directory a Microsoft Online Services

Business Intelligence

PRODUKTY. Tovek Tools

Vzdálená správa v cloudu až pro 250 počítačů

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

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

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

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

Sísyfos Systém evidence činností

Snažší používání. > Prostředí pro mobilní zařízení. > Vylepšení uživatelského komfortu. > Zjednodušení práce. > Integrace Office 365

Představuje. Technický Informační Systém nové generace

cena jednodenního školení: 4000Kč/osoba, druhá a další z téže firmy 3000Kč cena dvoudenního školení: 7000Kč/osoba, druhá další z téže firmy 6000Kč.

Wonderware Historian 2017

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Wonderware Historian 10.0

1 Webový server, instalace PHP a MySQL 13

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Téma Školitel Počet dní Moderní principy řízení výrobního podniku

1. Integrační koncept

PŘÍLOHA C Požadavky na Dokumentaci

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

Profilová část maturitní zkoušky 2017/2018

Manažerský informační systém na MPSV. Mgr. Karel Lux, vedoucí oddělení koncepce informatiky MPSV

KATALOG SLUŽEB NÁSLEDNÉ PODPORY

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o.

MIS. Manažerský informační systém. pro. Ekonomický informační systém EIS JASU CS. Dodavatel: MÚZO Praha s.r.o. Politických vězňů Praha 1

Možnosti reportingu v produktech řady EPM

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

Cloudové řešení pro ŠKODA AUTO

verze GORDIC spol. s r. o.

O Apache Derby detailněji. Hynek Mlnařík

Microsoft Windows Server System

Snadný a efektivní přístup k informacím

Business Intelligence nástroje a plánování

Informace k e-learningu

Slovenská spořitelna:

Datová kvalita základ úspěšného BI. RNDr. Ondřej Zýka, Profinit

Profilová část maturitní zkoušky 2013/2014

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování

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

<Insert Picture Here> Na co se můžete s Oracle BI těšit

Microsoft Word základní

Modul. Univerzální tabulkový export

Tomáš Kantůrek. IT Evangelist, Microsoft

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

TM1 vs Planning & Reporting

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

IT 3. Projekt centrálního zálohovacího systému v ČSOB Pojišťovně. Michal Mikulík. špička v každém směru

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

Vzdělávací obsah vyučovacího předmětu

Transkript:

Ľuboslav Lacko Mistrovství v SQL Server 2012 Computer Press Brno 2013

Mistrovství v SQL Server 2012 Ľuboslav Lacko Překlad: Martin Herodek Obálka: IMIDEA Odpovědný redaktor: Libor Pácl Technický redaktor: Jiří Matoušek Objednávky knih: http://knihy.cpress.cz www.albatrosmedia.cz eshop@albatrosmedia.cz bezplatná linka 800 555 513 ISBN 978-80-251-3773-4 Vydalo nakladatelství Computer Press v Brně roku 2013 ve společnosti Albatros Media a. s. se sídlem Na Pankráci 30, Praha 4. Číslo publikace 16 760. Albatros Media a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu vydavatele. 1. vydání

Stručný obsah Úvod 19 1. Představení platformy Microsoft SQL Server 2012 21 2. SQL Server 2012 v cloudu 27 3. Instalace a konfigurace 43 4. Nástroje na správu databáze 61 5. Bezpečnost 89 6. Vysoká dostupnost a ochrana údajů 117 7. Optimalizace výkonu SQL Serveru 2012 147 8. Práce s relačními údaji 163 9. Práce s nerelačními údaji a strukturami 299 10. Úvod do Business Intelligence 353 11. Architektura, modelování a implementace procesů Business Intelligence 365 12. Integrační služby 377 13. Analytické služby 429 14. Reportovací služby 525 15. Dolování údajů 571 16. Klientský přístup k analytickým službám 615 Rejstřík 627

Obsah Úvod 19 Zpětná vazba od čtenářů 20 Errata 20 Kapitola 1 Představení platformy Microsoft SQL Server 2012 21 Krátký pohled do historie SQL Serveru 21 Přehled novinek Microsoft SQL Serveru 2012 22 Přehled edic Microsoft SQL Serveru 2012 24 Standard edition 25 Enterprise edition 25 Business Intelligence edition 26 Specializované edice 26 Developer edition 26 Web edition 26 Express edition 26 Kapitola 2 SQL Server 2012 v cloudu 27 SQL Server na cloudové platformě Windows Azure 27 Modely využívání služby Windows Azure 28 Virtuální servery (IaaS) 29 Ukládání a zpracování údajů v cloudové platformě Windows Azure 30 SQL Database 30 Tables 31 Blobs 31 Vytvoření konta na platformě Windows Azure 32 Vytvoření nového virtuálního serveru 34 Připojení k virtuálnímu serveru přes RDP 38 Vytvoření databáze na virtuálním serveru 40 Připojení disků k virtuálnímu stroji 40 Nastavení disků pro databáze a soubory protokolu 41 Kapitola 3 Instalace a konfigurace 43 Instalace na server nebo vývojářský počítač 43 Instalace SQL Serveru na lokální virtuální server 43 Instalace na Server Core 44 SQL Server Installation Center 46 Požadavky na hardware a software 47 Instalace databázového serveru 47

6 OBSAH Úvodní fáze instalace kontrola splnění podmínek 48 1. krok: Identifikace problémů instalace 48 2. krok: Výběr komponent pro instalaci 50 3. krok: Konfigurace instalovaní instance 50 4. krok: Konfigurace přístupových účtů 51 5. krok: Konfigurace analytických služeb. 54 6. krok: Konfigurace reportovacích služeb 55 7. krok: Závěrečná kontrola konfigurace, resumé a instalace 55 Podpora SQL Serveru 2012 během celého jeho životního cyklu 56 Výpis parametrů a vlastností 56 Instalace SQL Server 2012 Express 57 Instalace cvičných databází 58 Připojení cvičných databází 59 Odinstalování 59 Kapitola 4 Nástroje na správu databáze 61 SQL Server Management Studio 61 Spouštění a ladění SQL příkazů 63 Spouštění a ladění uložených procedur 64 Automatické generování SQL příkazů pro vybranou tabulku 65 Šablony příkazů 65 Databázové diagramy 67 Nastavení parametrů databázového serveru 68 Konzolová aplikace SQLCMD 71 Přístup k SQL Serveru prostřednictvím PowerShellu 72 SQL Server Configuration Manager 73 SQL Server Data Tools (SSDT) 76 Dotazování 77 Možnosti návrhu databázových objektů 79 Projekty v SSDT 82 Úprava objektů ve schématu 84 Nasazení projektu SSDT do cloudu 86 Kapitola 5 Bezpečnost 89 Zabezpečení serveru a dat 89 Správa uživatelských práv v prostředí SQL Server Management Studio 90 Vytvoření nového uživatelského účtu na serveru 91 Vytvoření uživatele v databázi 93 Role 93 Schémata 96 Příklad vytvoření a použití schématu 97 Nastavení práv uživatele pro přístup k objektům databáze 98 Transparentní šifrování 98 Vytvoření a správa klíčů 99 Auditování 101 1. Vytvoření objektu typu AUDIT pro server 101

OBSAH 7 2. Povolení auditu 102 3. Vytvoření specifikace auditu 103 4. Testování auditu 104 5. Ukončení auditu 105 Centralizovaná správa instancí přes Policy-Based Management 105 Architektura Policy-Based Managementu 106 Aspekt 108 Podmínka 108 Politika 110 Příklad Definování politiky pro názvy objektů 111 1. Přípravná fáze 111 2. Vytvoření podmínky pro definování politiky 111 3. Vytvoření nové politiky 112 4. Ověření dodržování politiky 112 Příklad - Definování politiky, kterou současné nastavení nesplňuje 114 1. Přípravná fáze zapnutí funkcionality CLR 114 2. Definování podmínky a politiky pro zákaz funkcionality CLR 114 3. Aplikování politiky pro konkrétní databázový server 115 Kapitola 6 Vysoká dostupnost a ochrana údajů 117 Vysoká dostupnost 117 AlwaysOn Availability Groups 118 Konfigurace Windows Failover clustering 119 Vytvoření a konfigurace clusteru 121 Povolení AlwaysOn High Availability na úrovni SQL Serveru 123 Příklad vytvoření databází pro pokusy s technologií AlwaysOn 123 Vytvoření nové Availability Group 126 Vytvoření listeneru 133 Zálohování dat 134 Modely obnovy databáze 134 Zálohování databáze 135 Komprese zálohy 137 Vytvoření Maintenance planu pro zálohování 138 Zrcadlení databáze 139 Režim maximální dostupnosti 140 Režim maximálního výkonu 140 Replikace databáze 145 Kapitola 7 Optimalizace výkonu SQL Serveru 2012 147 Přidělování a optimalizace výkonu 147 Přidělování výkonu a zdrojů prostřednictvím Resource Governor 148 Princip fungování 149 Resource Pool vytvoření a nastavení 150 Workload Group vytvoření a nastavení 151 Klasifikační funkce 152 Příklad scénáře nastavení Resource Governor pro skupiny uživatelů 152 Pevné vykonávací plány 153

8 OBSAH Příklad scénáře pro pevný vykonávací plán 154 1. Přípravná fáze 154 2. Jednorázové vnucení vykonávacího plánu pomocí funkce HINT 155 3. Vytvoření vykonávacího plánu pro dotaz 155 Monitorování aktivit a reporty provozu v SQL Server Management Studiu 156 Database Engine Tuning Advisor 159 SQL Profiler 159 Kapitola 8 Práce s relačními údaji 163 Relační údaje 163 Zopakování základů teorie relačních databází 163 Databázová tabulka 164 Relační vztahy 165 Vztahy mezi entitami 167 Vztah jedna k jedné (1:1, one-to-one) 167 Vztah jedna k více (1:N, one-to-many) 167 Vztah více k více (N:M, many-to-many) 167 Normalizace databází 168 První normální forma (1NF) 168 Druhá normální forma (2NF) 169 Třetí normální forma (3NF) 170 Vytvoření nové databáze 170 Samostatná databáze 174 Vytvoření Contained Database 174 Microsoft SQL Server 2012 Express LocalDB 176 Komprese údajů v databázi 177 Řádková komprese 177 Stránková komprese 177 Prefixy sloupců 177 Komprese pomocí slovníku 178 Typické scénáře pro kompresi 179 Zhuštění databáze 181 Snapshot 183 Databázová schémata 185 Příklad vytvoření databáze, která využívá schémata 185 1. Vytvoření nové databáze 186 2. Vytvoření uživatelských účtů 186 3. Vytvoření nového schématu 186 Databázové tabulky 188 Datové typy 188 Omezení 189 Rozdělení databázové tabulky na víc oddílů 191 Rozdělení databáze na víc souborů 192 Vytvoření tabulky rozdělené na oddíly 193 1. Vytvoření funkce oddílu 193 2. Vytvoření schématu oddílu 194 3. Vytvoření databázové tabulky 194

OBSAH 9 Rozdělení existující tabulky na oddíly 195 Příklad vytvoření tabulky rozdělené na oddíly 195 1. Vytvoření funkce oddílu 195 2. Vytvoření schéma oddílu 196 3. Vytvoření tabulky rozdělené na oddíly 196 Vytváření indexů 197 Vytváření pohledů 198 1. Výběr tabulek, nad kterými bude vytvořen pohled 199 2. Výběr atributů a definování podmínek 199 Vkládání a aktualizace údajů 200 Automatické generování unikátních hodnot 200 Vkládání více záznamů v rámci jednoho příkazu INSERT 201 Práce s údaji v SQL Server Management Studiu 203 Sekvence 204 Příklad použití sekvence 205 Použití sekvence v kódu T-SQL 207 Resetování sekvence 207 Použití sekvence k vložení údajů do více tabulek 207 Vytvoření cyklické sekvence 208 Výběr údajů 208 Sestavení SQL příkazu pro výběr údajů pomocí nástroje Query Builder 210 Příkaz TOP (n) 212 Výpis vzorku údajů pomocí klauzule TABLESAMPLE 213 Klauzule OUTPUT 213 Stránkování výstupu pomocí klauzulí OFFSET a FETCH 215 Spojování tabulek 216 Vnitřní spojení (INNER JOIN) 217 Vnější spojení z levé strany ( LEFT OUTER JOIN) 217 Vnější spojení z pravé strany (RIGHT OUTER JOIN) 218 Úplné spojení 218 Výlučné spojení 218 Spojení z levé a pravé strany 219 Vnější spojení 220 Vnější spojení z levé strany 220 Vnější spojení z pravé strany 220 Křížové spojení 221 Úplné spojení 221 Poziční funkce RANK, DENSE_RANK, ROW_NUMBER a NTITLE 222 Funkce RANK() 222 Funkce DENSE_RANK() 223 Funkce ROW_NUMBER() 224 Funkce NTILE() 226 Operátor APPLY 227 Operátory PIVOT a UNPIVOT 229 Příklad použití operátoru PIVOT 231 Příklad použití operátoru UNPIVOT 233 Common Table Expressions (CTE) 234 Kódové stránky ve vztahu k vyhledávání a řazení údajů 237 MERGE 237 Datový typ TABLE 241

10 OBSAH Porovnání vkládání údajů bez a s využitým datového typu TABLE 241 Datový typ FILESTREAM 243 Příklad použití datového typu FILESTREAM 245 1. Vytvoření nové databáze 245 2. Vytvoření a naplnění databázové tabulky 245 3. Přístup k údajům přes SQL 246 Tabulky typu FILETABLE 246 Řídké sloupce 247 Filtrované indexy a statistika 250 Hierarchická data 251 Příklad implementace hierarchické struktury 252 1. Vytvoření tabulky 252 2. Vytvoření indexu 252 3. Vložení kořenového elementu 252 4. Vložení potomka 253 5. Vyhledávání v hierarchické struktuře 254 6. Změna pozice v hierarchické struktuře 255 Zachytávání změn v databázových tabulkách 256 1. Přípravná fáze 256 2. Povolení režimu zachytávání změn 256 3. Nastavení CDC pro konkrétní databázové tabulky 257 4. Testování funkcionality zachytávání změn 257 Vylepšené ošetření výjimek pomocí klauzulí CATCH a THROW 258 Použití klauzule OVER 260 Nové a vylepšené funkce v jazyku SQL 261 CONCAT 261 FORMAT 261 Logické funkce IIF a CHOOSE 261 Fulltextové vyhledávání 262 Vytvoření fulltextového katalogu 263 Vytvoření fulltextového indexu pomocí průvodce 265 Vytvoření fulltextových indexů pomocí příkazu jazyka SQL 266 Výpis klíčových slov 267 Predikát FREETEXT pro sestavení podmínek vyhledávání 268 Predikát CONTAINS pro sestavení podmínek vyhledávání 268 Jednoduchý výraz 269 Kombinované podmínky 270 Výrazy s použitím prefixů 271 Příbuzenské výrazy 271 Fulltextové vyhledávání v dokumentech 272 Ukládání dokumentů do databáze 272 Fulltextové vyhledávání v dokumentech 273 Sémantické vyhledávání 274 Příklad použití na netransakční databázi 276 T-SQL jako procedurální nadstavba jazyka SQL 281 Komentáře 281 Ladicí výpisy 281 Proměnné a jejich naplnění z buněk databázové tabulky 283 Řízení toku vykonávání příkazů v jazyku T-SQL 283

OBSAH 11 Podmínka IF...ELSE 283 Cyklus WHILE 284 Skripty a dávky 285 Ošetření chyb v T-SQL 286 Kurzory 286 1. Deklarace kurzoru 287 2. Otevření kurzoru 287 3. Výběr údajů prostřednictvím kurzoru 287 4. Zavření kurzoru 288 Příklad využití vnořených kurzorů pro výpis údajů z tabulek typu master-detail 288 Uložené procedury 290 Funkce 291 Spouště (triggers) 292 Data-tier aplikace 294 Vytvoření DAC balíčku z existující databáze 294 Publikování DAC balíčku na jiný server 296 Kapitola 9 Práce s nerelačními údaji a strukturami 299 XML jako nativní formát pro ukládání údajů 299 Co je dokument XML 299 Výstup údajů z klasických tabulek do formátu XML 300 Použití modifikátorů RAW, AUTO EXPLICIT a PATH 303 Načítání části XML dokumentu pomocí příkazu OPENXML 305 Nativní datový typ XML 307 Vkládání XML dokumentů do nativního datového typu XML 308 Naplnění proměnné datového typu XML z databázové tabulky 309 Validace XML dokumentu podle schématu 310 XML indexy 314 Dotazování pomocí jazyka XQuery 314 Příkazy FLOWR základní přehled 314 Příkazy FLOWR praktické využití 317 Použití příkazů XQuery pro databázovou tabulku 319 Metoda xml.exists 321 Metoda xml.value 321 Metoda xml.nodes 322 Spatial nové možnosti práce s geometrickými a geografickými údaji 322 Geografické minimum, světový geodetický systém WGS 84 323 Dotazování v geometrických a geografických systémech 324 Definice základných geometrických objektů 324 POINT 324 MULTIPOINT 325 LINESTRING 325 MULTILINESTRING 326 POLYGON 326 MULTIPOLYGON 327 GEOMETRYCOLLECTION 327 CIRCULARSTRING 327 COMPOUNDCURVE 327 CURVEPOLYGON 328 Ukládání geometrických objektů do databázové tabulky a jejich výběr 328

12 OBSAH Příklady operací s geometrickými objekty 330 Ukládání geografických objektů do databázové tabulky 332 Nové Spatial funkce ve verzi SQL Server 2012 334 Spatial indexy 335 Indexy pro geometrické údaje 335 Indexy pro geografické údaje 336 Příklad na geometrické objekty 338 Výpočet plochy 340 Průnik ploch 340 Sjednocení ploch 341 Obrys plochy 342 Obálka ploch 343 Konvexní obrys plochy 344 Počet vnitřních ploch (děr) 345 Obrys vnitřní plochy (díry) 345 Definování obrysu geometrického útvaru s odstupem 345 Příklad určování vzdálenosti v geografických souřadnicích 346 1. Příprava údajů pro příklad 347 2. Výpočet vzdáleností 347 3. Optimální zásobování 348 Příklad určování příslušnosti k lokalitě 349 Výběr objektů v okolí definované lokality 350 1. Příprava scénáře příkladu 351 2. Zjištění obchodů v okolí zadané lokality 351 Kapitola 10 Úvod do Business Intelligence 353 Business Intelligence jako proces přerodu údajů na informace 353 Výhody aplikování Business Intelligence 355 Přechod od transakčních databází k analytickým 355 Kvalita dat pro analýzy 356 Jsou transakční databáze vhodné pro analýzy? 357 Decentralizovanost OLTP systémů 357 Transakční systém neuchovává historické údaje 357 Nehomogenní struktura dat 357 Dlouhý čas přípravy dat 358 Lidský faktor 358 Závěr o vhodnosti nebo nevhodnosti údajů z operačního prostředí není jednoznačný 358 Multidimenzionální databáze 358 Porovnání relačního a multidimenzionálního modelu 359 Relační model 359 Multidimenzionální model 359 Datový sklad 359 Definice datového skladu 360 Datový sklad jako jediný zdroj datové pravdy 361 Rozdíly mezi produkčními databázemi a datovým skladem 362 Datové trhy 362

OBSAH 13 Kapitola 11 Architektura, modelování a implementace procesů Business Intelligence 365 Architektura Business Intellience 365 Samoobslužná Business Intelligence 365 Modelování procesů Business Intelligence 367 Unified Dimension Model 367 Proaktivní cache 368 Implementace a přístup k UDM prostřednictvím SSDT 370 Business Intelligence Semantic Model 372 Jednotné prostředí pro vytváření modelů 374 Kapitola 12 Integrační služby 377 Import a export 378 Extrakce, transformace a přenos 379 Extrakce 381 Čištění dat 381 Transformace 382 Problémy při transformaci dat 383 Nejednoznačnost údajů 383 Chybějící hodnoty a duplicitní záznamy 383 Konvence názvů pojmů a objektů 384 Různé peněžní měny 384 Formáty čísel a textových řetězců 384 Referenční integrita 384 Chybějící datum 384 Zavádění údajů do datového skladu (Loading) 385 Testování etapy ETL 385 Architektura integračních služeb SQL Serveru 2012 385 Příklad vytvoření integračního balíčku pomocí průvodce 386 Námět příkladu 387 1. Vytvoření projektu 388 2. Výběr zdrojové databáze 388 3. Výběr cílové databáze 388 4. Výběr množiny údajů 390 Možnosti práce s integračním balíčkem v návrhovém prostředí 392 Spuštění balíčku Integračních služeb 394 Seznámení s návrhovým prostředím pro integrační služby 395 Karta Control Flow 396 Kontejnery integračních služeb 397 For Loop Container 397 Foreach Loop Container 398 Sequence Container 399 Úlohy na přípravu údajů 399 Workflow úlohy 399 Úlohy pro SQL Server 399 Úlohy využívající analytické služby 400

14 OBSAH Úlohy na správu a údržbu 400 Diagram jednoduchého integračního balíčku 401 Preparation SQL Task 402 Data Flow Task 403 Data Flow Transformations 405 Transformace Agreggate 406 Transformace Audit 406 Transformace Conditional Split 406 Transformace Copy Column 410 Transformace Data Conversion 410 Transformace Derived Column 410 Data Flow Destinations 410 Data Flow Path Editor 410 Import údajů z textového souboru 412 1. Vytvoření nového integračního projektu 413 2. Definování připojení na zdroj údajů 413 3. Definování připojení na cílovou databázi 417 4. Vizuální návrh přenosu a transformace dat 418 5. Otestování integračního projektu 421 Alternativní řešení bez využití integračních služeb 421 Import údajů z nestrukturovaného textu 421 1. Analýza problému 422 2. Návrh integračního projektu 423 3. Rozdělení údajů na platné a neplatné 423 4. Úprava řádků obsahujících platné údaje 424 Ladění projektů integračních služeb 426 Nasazení integračních projektů 427 Kapitola 13 Analytické služby 429 OLAP analýza teoretické minimum 429 Fakta a dimenze 431 Schematické uspořádání faktů a dimenzí 434 Pokročilejší teorie analytických databází 435 Úložiště multidimenzionálních údajů MOLAP, ROLAP, HOLAP 437 Relační databázový model 437 Multidimenzionální databázový model 438 Multidimenzionální OLAP (MOLAP) 438 Relační databázový OLAP (ROLAP) 438 Hybridní OLAP (HOLAP) 438 Příklad analýza multidimenzionálních údajů 439 OLAP kostka 439 Vytvoření relačních struktur, které budou základem pro vytvoření OLAP kostky 445 Tabulka pro subjektovou dimenzi 447 Tabulka pro produktovou dimenzi 447 Je nutné vytvářet tabulku pro časovou dimenzi? 448 Tabulka faktů výdaje rodinného rozpočtu 449 Vytvoření OLAP kostky rodinného rozpočtu pomocí průvodce 450 Definování datových zdrojů 451 Definování pohledů na datové zdroje 452

OBSAH 15 Návrh dimenzí 454 Návrh kostky 459 Sestavení projektu analytických služeb a prohlížení OLAP kostky 462 Prohlížení OLAP kostky 463 Přístup k výsledkům analýzy přes Excel 463 Vytvoření OLAP kostky z datového skladu 464 Databáze AdventureWorksDW2012 jako zdroj údajů 465 Vytvoření projektu 465 Definování datových zdrojů 465 Definování pohledů na datové zdroje 465 Vypočítané atributy 467 Vytvoření kostky 468 Vytvoření časové dimenze 468 Návrh kostky pomocí průvodce 469 Sestavení projektu 473 Definování atributů dimenzí 473 Definování atributů časové dimenze 473 Definování atributů a hierarchie zákaznické a geografické dimenze 477 Demografické atributy 477 Geografické atributy 477 Přidání vypočítaného atributu do dimenze 478 Definování atributů a hierarchie produktové dimenze 479 Práce s OLAP kostkou v prostředí SSDT 481 Karta Cube Structure 481 Karta Dimension Usage 481 Karta Calculations 482 Karta KPIs 483 Karta Actions 486 Karta Perspectives 487 Karta Partitions 488 Karta Aggregations 489 Karta Translations 491 Karta Browser 491 Přístup k výsledkům analýzy přes Excel 492 Příklad analýza relačních údajů v módu Tabular 492 Import údajů 496 Filtrování atributů 498 Zobrazení modelu ve formě tabulky a diagramu 500 Dodatečné přidávání tabulek do modelu 501 Označení časové tabulky 501 Definování relačních vazeb mezi tabulkami 501 Definování vypočítaného sloupce 502 Definování hierarchie dimenzí 502 Přidání měřítek do tabulky faktů 504 Klíčové indikátory KPI 505 Umístění projektu na analytický server 506 Přístup k výsledkům analýzy přes Excel 506 OLAP kostka v jazyku SQL klauzule CUBE 508 Příklad využití klauzule CUBE 508 Funkce GROUPING 514

16 OBSAH PowerPivot pro Excel 520 Příklad využití technologie PowerPivot 521 Kapitola 14 Reportovací služby 525 Kategorizace reportů 525 Enterprise Reporting 526 Embedded Reporting 526 B2B Reporting 526 Architektura a filozofie reportovacích služeb 526 Novinky v oblasti reportovacích služeb v SQL Serveru 2012 527 Úvodní příklad návrh výstupní sestavy údajů z databáze 529 Výběr zdroje údajů 529 Návrh dotazu pro výběr údajů 530 Návrh designu reportu pomocí průvodce 531 Prohlížení reportu v návrhovém prostředí 535 Nasazení reportu 536 Nastavení přístupových práv 537 Nástroj ke konfiguraci reportovacích služeb 537 Příklad návrhu reportu bez využití průvodce 538 Definování zdroje údajů a dotazu pro výběr 538 Grafický návrh reportu 539 Formátování údajů 541 Seskupování údajů v reportu 541 Řádky se sumárními údaji 544 Interaktivní parametrický report 545 Grafická prezentace údajů v reportu 546 Grafické vyjádření klíčových ukazatelů výkonnosti 549 Vyjádření KPI změnou barvy pozadí buněk tabulky 549 Poměrové ukazovatele typu gauges 551 Doručení reportu 553 Data-Driven Subscription 554 Report Builder 555 Návrh reportu pomocí Report Builderu 556 Prezentace údajů na mapách 561 Využití reportovacího a vizualizačního nástroje Power View 565 Příklad vytvoření a nasazení reportu 566 Kapitola 15 Dolování údajů 571 Dolování údajů (data mining) teoretické minimum 571 Oblasti použití data miningu 572 Co data mining neumožňuje 574 Statistické metody využívané data miningovými modely 574 Korelace 575 Lineární regrese 575 Logistická regrese 575 Diskriminantní analýza 576

OBSAH 17 Předpovědi trendů 576 Neuronové sítě 576 Genetické algoritmy 577 Procesní schéma data miningu 577 Učící fáze 577 Analýza a predikce nových případů 577 Algoritmy pro data mining 578 Rozhodovací stromy 579 Shlukování 580 Sekvenční shlukování 581 Asociační pravidla 581 Časové řady 582 Neuronové sítě 583 Naive Bayes 584 Typické okruhy úloh a výběr algoritmů k jejich řešení 585 Klasifikace 585 Regrese 586 Segmentace 586 Přiřazování 587 Analýzy textu 587 Příklad dolování údajů a predikce obchodních případů 588 Definování datového zdroje 588 Definování pohledu na datový zdroj 588 Vytvoření modelu na bázi algoritmu rozhodovacích stromů 589 Prohlížení modelu 594 Predikce 596 Příklad z praxe rozlišení jedlých a jedovatých hub 601 Příprava vstupních údajů 601 Projekt data miningového modelu 606 Prohlížení rozhodovacího stromu 608 Predikce na základě výsledků analýzy 610 Posouzení úspěšnosti predikce 612 Kapitola 16 Klientský přístup k analytickým službám 615 Aplikace balíku Microsoft Office pro přístup k údajům a výsledkům analýz 615 Kontingenční tabulka (Pivot Table) a kontingenční graf 616 Kontingenční tabulka (Pivot Table) v prostředí aplikace Excel 617 Excel 2013 jako klient analytických služeb 619 Připojení k analytickému serveru a výběr analytických struktur 619 Zobrazení analytických údajů ve formě kontingenční tabulky 622 Vnořování se do hierarchických struktur 623 Filtrování údajů 623 Grafická vizualizace údajů 623 Podmíněné formátování buněk 624 Kontingenční graf 625 Rejstřík 627

Úvod Publikace věnovaná SQL Serveru 2012 není koncipována jako rozdílový text vůči předcházející verzi 2008. Zaměřuje se na co nejlepší využití nejdůležitějších vlastností této databázové a Business Intelligence platformy, novým funkcím verze 2012 je pochopitelně věnovaná větší pozornost. Osnova knihy reaguje na možnosti a výhody cloudových scénářů a na konvergenci relačních a analytických databází do jedné univerzální platformy, která je schopná zpřístupnit uživateli hodnoty skrývající se v jeho datech a přeměnit je v konkurenční výhodu. Publikace není určena úplným začátečníkům, předpokládají se základní vědomosti ohledně databází a jazyka SQL, případně zkušenosti z předchozích verzí SQL Serveru a jiných databázových platforem. Pojem začátečník je velmi relativní. Každý je v něčem specialista a na druhé straně se každý potřebuje něco naučit, s něčím začíná. Proto je většina úkonů, postupů a příkladů popsána detailně a metodicky z výchozího stavu. SQL Server 2012 je složitý a sofistikovaný systém, to by ale v žádném případě nemělo vzbuzovat v uživatelích respekt. Spíše naopak. Sofistikované nástroje s jednoduchým uživatelským rozhraním umožní manažerům profitovat z konceptu samoobslužné Business Intelligence. Mohou si vytvářet analytické modely sami bez nutnosti podpory IT oddělení. Příklady z mnoha oblastí není možné realizovat, jak se lidově říká na zelené louce, ale vyžadují mít připravenou určitou infrastrukturu, tedy vytvořené objekty, hlavně databázové tabulky naplněné cvičnými údaji. Proto je první krok většiny příkladů koncipován jako přípravná etapa vytvářející nezbytnou podpůrnou infrastrukturu pro příslušný příklad. Všechny příklady a administrátorské úkony popsané v knize byly odladěné na počítači s operačním systémem Windows 8 s výjimkou technologie Power View, která vyžaduje operační systém Windows Server 2012, případně starší verzi Windows Server 2008 R2 a SharePoint Server. POZNÁMKA Snímky obrazovek a ovládací prvky týkající se sady Microsoft Office 2013 odpovídají anglické verzi produktu, neboť v době přípravy této publikace nebyla česká verze ještě k dispozici.

20 ÚVOD Zpětná vazba od čtenářů Nakladatelství a vydavatelství Computer Press stojí o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy: Computer Press Albatros Media a.s., pobočka Brno IBC Příkop 4 602 00 Brno nebo sefredaktor.pc@albatrosmedia.cz Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pokud budete mít dotaz k programu, obraťte se prosím na jeho tvůrce. Errata Přestože jsme udělali maximum pro to, abychom zajistili přesnost a správnost obsahu, chybám se úplně vyhnout nelze. Pokud v některé z našich knih najdete chybu, budeme rádi, pokud nám ji oznámíte. Ostatní uživatele tak můžete ušetřit frustrace a nám můžete pomoci zlepšit následující vydání této knihy. Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/k2035 po klepnutí na odkaz Soubory ke stažení.

Představení platformy Microsoft SQL Server 2012 Databázová platforma SQL Server 2012 měla v etapě vývoje a prvního stadia testování kódové označení Denali. Tento název našinci na první pohled nic zajímavého neevokuje, když ho ale zadáte například do Wikipedie, zjistíte, že je to název nejvyšší hory Severní Ameriky Mount McKinley (6 194 m) v jazyce místních obyvatel. Slovo Denali znamená v jazyku Atabasků velký. Použití tohoto kódového označení mělo naznačovat velikost a hlavně význam změn v nové verzi. Pokud byste hledali pro nový SQL Server 2012 nejvýstižnější marketingový přívlastek, pravděpodobně budete po prostudování této publikace a po seznámení se s produktem souhlasit s označením Cloud-ready. Poprvé v historii tohoto produktu umožňuje SQL Server podstatně více cloudových a hybridních scénářů než scénářů v klasické serverovně či firemním datovém centru. Kromě veřejného cloudu a IaaS (Infrastructure as a Service), čili virtuálních počítačů v cloudu, je velmi perspektivní i nasazení v privátních cloudech. K A P I T O L A 1 Témata kapitoly: Krátký pohled do historie SQL Serveru Přehled novinek Microsoft SQL Serveru 2012 Přehled edic Microsoft SQL Serveru 2012 Krátký pohled do historie SQL Serveru Historie produktu SQL Server se začala psát v roce 1988, kdy tento produkt ještě neměl nic společného s Microsoftem. Dodávala ho společnost Sybase pro operační systém OS/2. V roce 1993 byla firmou Sybase uvedena verze SQL Server 4.2, což byla klasická desktopová databáze pro kanceláře a malé firmy určená pro operační systém Windows. V roce 1994 koupil tento produkt Microsoft a začal ho vyvíjet ve své režii.

22 KAPITOLA 1 PŘEDSTAVENÍ PLATFORMY MICROSOFT SQL SERVER 2012 První verzí v plné v režii Microsoftu byl v roce 1995 SQL Server 6.05, primárně určený jako databázový produkt do segmentu small business. Narostl výkon a tuto verzi už bylo možné využívat i u internetových aplikací. Verze SQL Server 6.5, která byla uvedená v roce 1996, byla určena pro platformu Windows NT. Verzi SQL Server 7.0, která přišla na trh v roce 1998, bylo možné označit přívlastkem webová databáze. Jádro bylo kompletně přepsáno a optimalizováno. Tento produkt už začínal nesměle konkurovat databázím Oracle a IBM DB2, hlavně svou velmi příznivou cenou. Verze SQL Server 2000 přinesla už i podporu Business Intelligence. SQL Server 2005 představoval významnou inovaci, ať už v oblasti Business Intelligence nebo XML jako nativního datového typu. SQL Server 2008 a jeho vylepšená reedice 2008 R2 podporuje kompresi údajů a záloh, umožňuje vynucení politik přes Declarative Management Framework, správu zdrojů prostřednictvím funkcionality Resource Governor a prediktivní systém optimalizace výkonu. Na serveru je možné přidat nejen paměť, ale i dodatečnou procesorovou kapacitu (Hot Add CPU) bez nutnosti vypnutí databázového serveru. Stabilita a předvídatelnost zpracování dotazů se zvyšuje i díky možnosti uzamknout plány dotazů během náhrady hardwarového serveru, inovace serveru a nasazování do provozu. V takovýchto situacích se využívají stabilní plány dotazů. Rozšířená správa událostí zachytává, filtruje a třídí události generované serverovými procesy. To umožňuje rychlou a efektivní diagnostiku problémů za běhu serveru, monitorování zásobníků volání procedur procedurálního jazyka T-SQL. Významnou novinkou v této verzi je i vylepšená technologie Spatial pro práci s geometrickými a geografickými údaji. Transparentní šifrování údajů umožňuje povolit zašifrování celé databáze, datových souborů nebo souborů protokolu bez nutnosti změny aplikací. Auditování zjednodušuje dosažení souladu s legislativními požadavky. Verze 2008 přináší i nové datové typy pro práci s datem a časem (Date, Time, DateTimeOffset, DateTime2, SmallDateTime). Datový typ Table-Valued umožňuje ukládat tabulková data. Významnou novinkou je i datový typ Filestream, který podporuje uložení velkých binárních objektů do souborového systému NTFS, zatímco tyto objekty zůstávají nedělitelnou součástí databáze. Díky integrovanému fulltextovému vyhledávání je přechod mezi prohledáváním textu a relačních dat transparentní a uživatelé mohou na rychlé prohledávání dlouhých textových sloupců využívat textové indexy. Funkce zachytávání změn dat zajišťují zaznamenávání všech změn do tabulek změn. Zaznamenává se vždy celý obsah změny, přičemž se udržuje konzistence mezi tabulkami. Tato funkce správně funguje i v případě změn schématu. Organizace tedy mohou do datového skladu integrovat ty nejaktuálnější informace. Zavedení příkazu MERGE do jazyka SQL umožňuje vývojářům efektivnější zpracování běžných situací v datových skladech, například ověření, zda určitý řádek existuje, a následné vložení či aktualizaci dat. Přehled novinek Microsoft SQL Serveru 2012 Tvůrci nové verze se snažili dosáhnout co nejvyšší flexibility platformy, aby vyhovovala rozdílným potřebám databázových a Business Intelligence aplikací a umožnila zákazníkům lépe se vyrovnat se stále narůstajícím objemem údajů, ať už v tradičních datových centrech nebo v pro-

PŘEHLED NOVINEK MICROSOFT SQL SERVERU 2012 23 středí veřejného či privátního cloudu. Dochází ke sbližování vlastností lokálních a serverových platforem, což výrazně zjednodušuje migraci, například přesun databází, které byly předtím navrženy pro klasické instance databázového serveru, do cloudu. Na správu obou prostředí se používá stejný nástroj SQL Server Management Studio. V úvodním přehledu podrobněji popíšeme nové rysy, které se týkají nejen relačních databází, ale i Business Intelligence. Současná situace v oblasti využívání dat pro podporu rozhodování je podmíněna neustále se měnícími požadavky byznysu, přičemž údaje uschovávané jednotlivými subsystémy podnikové informatiky v mnohých firmách nedokáží na tyto požadavky operativně reagovat. Aby byly informace pro podporu rozhodování relevantní, musí být poskytnuty v reálném čase a v požadovaném formátu, a to na úrovni strategické, taktické i operační. Úspěšné řízení firem a organizací nezajistí množství údajů, ale rychlost a přesnost, s jakou se manažerům daří z těchto údajů získávat klíčové informace pro řízení podniku. Největší výzvou dneška je porozumění celkovým byznys datům, speciálně tomu, jaká klíčová data existují, kde jsou uložena, co je jejich zdrojem, jaké jsou jejich závislosti (pokud jsou) a jaký je způsob integrace s ostatními systémy. Business Intelligence jako proces přeměny údajů na informace a poznatky je jedním z nejdynamičtěji rostoucích odvětví informačních technologií. Nejvíce se využívá v podnikových informačních systémech, nachází si cestu ale i do různých laboratoří, například ve zdravotnictví, a také do oblasti výzkumu a vývoje. Problematika analytických databází, datových skladů a dolování údajů (datamining) zahrnuje nejen technologické aspekty, ale i management, plánování, návrh, zavedení a řízení konkrétního projektu databáze nebo datového skladu. Business Intelligence je nadále oblastí vysoké priority a zvyšujících se výdajů pro organizace, které chtějí zlepšit svůj rozhodovací proces založený na údajích sesbíraných z procesů, aplikací a od lidí. Proto je Business Intelligence hlavní prioritou pro IT exekutivu a zároveň technologií s jednou z nejvyšších návratností. Hlavní přínosy řešení Business Intelligence spočívají v přechodu z intuitivního rozhodování na rozhodování kvalifikované, realizované na základě kvalitních, konsolidovaných a operativně dostupných informací dodaných ve správný čas správným osobám. To umožňuje zlepšení obchodních a marketingových aktivit, sledování a předpovídání trendů a v konečném důsledku hlavně zvýšení konkurenceschopnosti firmy. Moderní databázové platformy rozhraní mezi těmito oblastmi stále více stírají a umožňují analýzy v reálném čase nad relačními údaji. Jedním z klíčových požadavků na databázovou platformu je vysoká dostupnost. V porovnání s verzí 2008 nabízí SQL Server 2012 vyšší úroveň dostupnosti a ochrany dat díky funkcionalitě AlwaysOn. Pomocí jednoduchého průvodce umožňuje vytvářet skupiny databází, které se automaticky replikují, a v případě havárie primární databáze dojde k automatickému přepnutí na databázi replikovanou. Tato technologie nevyžaduje speciální hardware, a dokonce je možné replikovanou databázi používat ke čtení, případně vytváření zálohy. V předchozích verzích SQL serveru byla databáze svázaná s konkrétní instancí databázového serveru. Sice bylo možné soubor s údaji od databázového serveru odčlenit, zkopírovat databázové soubory na jiný server a tam importovanou databázi připojit k novému serveru, tento scénář však rozhodně nebyl jednoduchý. SQL Server 20012 přináší jako jednu z novinek v oblasti vysoké dostupnosti takzvanou Samostatnou databázi (Contained Database). V praxi to znamená možnost odstranění závislosti 1 Představení platformy MS SQL Server 2012

24 KAPITOLA 1 PŘEDSTAVENÍ PLATFORMY MICROSOFT SQL SERVER 2012 databáze na konkrétní instanci SQL Serveru a jednoduchou možnost přesouvání databáze mezi instancemi databázového serveru. Vývojář nemusí brát ohled na konfiguraci konkrétní instance. Při pohledu do struktury databáze zjistíte, že informace o uživatelích, autentizační údaje, úlohy SQL Agenta, nastavení, metadata a podobně jsou přímo součástí každé databáze, čímž se odstranila závislost na systémové databázi Master. Tato funkcionalita umožňuje například distribuovat databázi spolu s aplikací. Novinkou ve verzi SQL Server 2012 je i nový režim fungování databázového stroje LocalDB. Uplatní se při zabudovávání databází do desktopových aplikací. Databáze je na tomtéž počítači jako aplikace. Hlavní devizou je jednoduchost instalace, počítač není zatěžován neustále běžícími službami. Databázový stroj je aktivní jen tehdy, když je aplikace spuštěná. Aplikace se napojí na databázový soubor SQL proces se aktivuje automaticky. Hlavně při generování reportů se musí nad údaji v databázích realizovat množství výpočtů a agregací. Pokud využíváte škálování datových skladů přes Parallel Data Warehouse, mohou se zmíněné agregace a výpočty realizovat paralelně. Multi-subnet clusterování umožňuje umístit části clusteru do jiných podsítí. Databáze obsahující obrovské množství údajů je možné rozdělit teoreticky až na 15 000 oddílů a významně tak zvýšit dotazovací výkon, protože při dobře navržené struktuře databáze většina dotazů směruje do jednoho oddílu, a není tedy nutné prohledávat velké databáze. Jednotný model aplikací pro Business Intelligence BISM (Business Intelligence Semantic Model) zajišťuje konzistentní pohled na údaje z heterogenních zdrojů. Umožňuje dosáhnout vysokou kvalitu dat pro všechny operace díky doplňku Master Data Services pro Excel a nové službě Data Quality Services, která je integrovaná se zprostředkovateli dat od nezávislých výrobců prostřednictvím datového tržiště Windows Azure Marketplace Datamarket. SQL Server 2012 umožňuje dosáhnout vyšší produktivitu nejen IT specialistů, ale i vývojářů v serverovém a cloudovém prostředí díky paritě DAC (Data-tier Application Component) s nástroji SQL Azure a SQL Server Developer Tools (kódové označení Juneau), které umožňují jednotný a moderní způsob vývoje napříč databázemi, řešeními pro Business Intelligence a cloudovými funkcemi. Při zabezpečení databázového serveru jako integrální součásti informačního systému je důležitá i možnost auditování. SQL Server 2012 umožňuje auditování přístupu do databáze, dotazování a modifikování údajů ve všech edicích. Tento nástroj spolehlivě dokumentuje, které údaje, kdy a kým byly čtené, případně modifikované. Přehled edic Microsoft SQL Serveru 2012 SQL Server 2012 je k dispozici ve třech hlavních edicích, jejichž vlastnosti jsou odstupňované tak, aby si každý zákazník mohl vybrat verzi vyhovující jeho potřebám: Standard edition Enterprise edition Business Intelligence edition Každá edice má 32bitovou i 64bitovou verzi.

PŘEHLED EDIC MICROSOFT SQL SERVERU 2012 25 POZNÁMKA Ve verzi 2012 už není k dispozici edice Datacenter známá z předchozí verze SQL Server 2008. Funkcionalita této edice je zahrnuta v edici Enterprise. Standard edition Standard edition je edice primárně určená pro provoz aplikací firemních oddělení, nejen databázových, ale v přiměřeném rozsahu i Business Intelligence aplikací pro menší firmy a organizace nebo jejich oddělení. Nezahrnuje některé funkce, které jsou typicky směrované do prostředí vekých firem. Standard edition podporuje 16 procesorových jader, 64 GB RAM, jeden virtuální stroj a dva uzly pro failover clustering. Edice zahrnuje i některé pokročilejší funkce, například Policy-based management, podporu technologie Spatial či multidimenzionální sémantický Business Intelligence model. Typické scénáře nasazení: Aplikace firemních oddělení požadující dobrou spravovatelnost a jednoduché použití Aplikace pro online zpracování transakcí (OLTP) v malém až středním objemu Systémy pro podporu rozhodování, například v sektoru SMB nebo v autonomních pobočkách požadujících základní funkce pro generování sestav a analýzy 1 Představení platformy MS SQL Server 2012 Enterprise edition SQL Server 2012 Enterprise je ucelená datová platforma splňující vysoké nároky podnikových aplikací, ať už pro online zpracování transakcí v datových centrech nebo pro datové sklady. Pomocí této edice je možné konsolidovat servery a realizovat online zpracování velkého objemu transakcí a generování sestav. Díky technologiím, které chrání data před nákladnými lidskými chybami, zajišťuje obchodní kontinuitu a zkracuje čas potřebný k obnovení po havárii. Umožňuje nasazení v rámci privátního cloudu. Podporuje velké centralizované Business Intelligence řešení. Vytváří infrastrukturu s ověřenými schopnostmi zpracování velkých množství dat a vysokého podnikového zatížení. Splňuje požadavky na ochranu osobních dat a soulad s legislativními normami a nabízí integrované funkce pro ochranu dat před neoprávněným přístupem. Verze Enterprise nabízí správu infrastruktury s automatickou diagnostikou, optimalizací a konfigurací s cílem snížit provozní náklady a zároveň omezit nutnost údržby a správy velkých objemů dat. Umožňuje dotazování a analýzu velkých množství dat v datových skladech a datových tržištích a ulehčuje tak získávání širšího pohledu na tato data. Typické scénáře nasazení: Provoz nenahraditelných aplikací pro správu dat se škálovatelností, vysokou dostupností a zabezpečením na podnikové úrovni Správa online zpracování transakcí (OLTP) ve velkém objemu Pokročilá analýza velkých objemů dat v datových skladech Generování sestav na základě analýzy velkých objemů dat

26 KAPITOLA 1 PŘEDSTAVENÍ PLATFORMY MICROSOFT SQL SERVER 2012 Business Intelligence edition Tato edice je novinkou ve verzi 2012 a asi nejlépe podtrhuje význam Business Intelligence a všeho, co tento pojem zapouzdřuje, tedy analýz, multidimenzionálních databází a dolování dat v podnikové praxi. Nabízí firmám a organizacím kompletní sadu škálovatelných Business Intelligence funkcí včetně Power View a PowerPivot. Je přizpůsobená koncepci samoobslužné Business Intelligence pro firmy, které nevyžadují výkonné online transakční zpracování (OLTP). Specializované edice Podobně jako u předchozích verzí jsou kromě hlavních k dispozici i některé účelově specializované edice. Developer edition Jak vyplývá z názvu, tato edice je určena pro vývojáře. Obsahuje všechny vlastnosti a funkce edice Enterprise, ale licenčním ujednáním je směrovaná výhradně pro účely vývoje, testování a předvádění. POZNÁMKA Edici Developer je možné zakoupením licence přetransformovat na Enterprise bez nutnosti přeinstalování. Web edition Nabízí nízké náklady, vysokou škálovatelnost pro vysoko dostupné webové aplikace či hostovaná řešení a vysokou dostupnost internetových prostředí webových služeb. Typický scénář nasazení představují sdílená a dedikovaná hostitelská řešení. Express edition Edice Express je k dispozici bezplatně a je ideální pro studium a vytváření aplikací pro klientské počítače a malé servery a pro distribuci nezávislými výrobci softwaru. Edice je limitovaná na využití jednoho procesoru, 1 GB paměti a velikostí databáze 10 GB. Typické scénáře nasazení: Základní a studijní databáze Funkčně bohaté aplikace pro klientské počítače Bezplatná práva na distribuci pro nezávislé výrobce softwaru (ISV) Tato edice může sloužit například studentům nebo vývojářům hobby aplikací pro vývoj a zavádění jejich aplikací. Je též bezplatně k dispozici pro nezávislé dodavatele softwaru (ISV) a výrobce hardwaru, kteří ji mohou distribuovat nebo zabudovat do svých aplikací a produktů. Edice Express je v rozsahu základní funkcionality plně kompatibilní se všemi ostatními edicemi SQL Serveru. Pokud bude vaše aplikace a firma úspěšná a budou růst nároky na výkon a škálovatelnost, potom je možné bez úprav aplikaci přesunout na požadovanou komerční verzi. Edice Express obsahuje plnou podporu jazyka SQL i jeho procedurální nadstavby T-SQL. K dispozici jsou i programovací rozhraní pro potřeby vývojářů na různých platformách.

SQL Server 2012 v cloudu SQL Server na cloudové platformě Windows Azure V přehledových příručkách k produktům bývalo běžným zvykem, že po úvodní kapitole, která představovala základní vlastnosti produktu s poukázáním na novinky aktuální verze, následovala kapitola o instalaci, ať už na lokální počítač, nebo na server (podle určení produktu). Cloud však od základů mění zažité konvence v IT, proto instalační kapitolu předběhne kapitola cloudová. Nakonec možná po vyzkoušení výhod databázového serveru v cloudu kapitolu o instalaci na lokální server už ani nebudete potřebovat. Začneme nejen trendově ve smyslu hesla Cloud-ready, ale de facto i nejjednodušším, nejrychlejším a věříme, že i nejintuitivnějším způsobem, jak získat přístup k SQL Serveru 2012 ať už na studijní, vývojářské, případně ostré nasazení, například na databázovou podporu webové aplikace. Pro začátečníky a přiznejme si, že v případě cloudových technologií jsme začátečníky prakticky všichni je určen krátký úvod do platformy Windows Azure následovaný popisem postupu, jak si zřídit zkušební konto na tři měsíce. Po zřízení konta dokážete vytvořit virtuální počítač s již nainstalovaným SQL Serverem 2012 doslova na jedno klepnutí. O novém typu IT architektury s názvem cloud computing určitě každý IT specialista a vývojář už slyšel. Většina pochopila princip, ale kolik z vás se už může pochlubit fungující databázovou aplikací, která si pokojně sídlí v obláčcích, tedy v datových centrech? Zjednodušeně by se dal Windows Azure definovat jako platforma umožňující vytváření virtuálních serverů a spouštění aplikací v prostředí cloudu. Platforma je provozována v globálních datových centrech Microsoftu, přičemž na každém kontinentu je jich několik. V Evropě jsou umístěny v Dublinu a Amsterdamu a jsou mezi sebou replikovatelné. K A P I T O L A 2 Témata kapitoly: SQL Server na cloudové platformě Windows Azure Vytvoření konta na platformě Windows Azure Vytvoření nového virtuálního serveru Vytvoření databáze na virtuálním serveru Nastavení disků pro databáze a soubory protokolu

28 KAPITOLA 2 SQL SERVER 2012 V CLOUDU Obrázek 2.1: Rozmístění datových center Microsoftu Zákazníci pracující s klientskými počítači připojenými k Internetu mohou vytvářet virtuální stroje, spouštět svoje masivně škálovatelné aplikace, vytvářet webové aplikace, které běží a ukládají svoje data v datových centrech, případně v bezpečí těchto datových center jen ukládat svoje data. Modely využívání služby Windows Azure Na platformě Windows Azure můžete vytvářet virtuální počítače, provozovat webové aplikace, cloudové služby či ukládat data. Každý z modelů je možné využívat separátně. Obrázek 2.2: Modely využívání platformy Windows Azure Pokud se pokusíme tyto modely zaškatulkovat podle klasické cloudové klasifikace, tak virtuální servery jsou typickým příkladem IaaS, tedy Infrastructure as a Service, a cloudové služby

SQL SERVER NA CLOUDOVÉ PLATFORMĚ WINDOWS AZURE 29 je možné zařadit do kategorie Paas (Platform as a Service). Vzhledem k zaměření publikace se budeme věnovat virtuálním serverům a okrajově i službě SQL Database. Virtuální servery (IaaS) Možnost vytvořit virtuální stroj na vyžádání, ať už ze standardního obrazu anebo z vašich instalačních médií, může být velmi užitečná, navíc při hodinové tarifikaci i rentabilní. Můžete vytvořit tolik virtuálních serverů, kolik potřebujete, a jen na nezbytně potřebnou dobu. V porovnání s klasickými servery odpadá doručování, vybalování, či konfigurace. V galerii standardních předkonfigurovaných diskových obrazů najdete Windows Server 2008 R2, Windows Server 2012, linuxové servery, případně kombinaci Windows Serveru 2008 R2 s SQL Serverem. Virtuální server můžete využít nejen k produkčnímu nasazení, ale s výhodou i na vývoj nebo jako testovací platformu. Můžete vytvořit virtuální server s již nainstalovaným SQL Serverem 2012. Virtuální servery můžete použít na rozšíření kapacity vašeho datového centra například v případě předvídatelných, ale i nepředvídatelných špiček. Pokud vytvoříte více virtuálních serverů, můžete z nich vytvořit serverovou farmu a flexibilně mezi servery přerozdělovat zátěž. Samozřejmostí je VPN (Virtual Private Networking). Při vytváření virtuálního serveru můžete využít volbu QUICK CREATE s tím, že zadáte jen několik základních parametrů a virtuální server nakonfigurujete později. Při výběru instalačního obrazu FROM GALLERY zadáváte v procesu vytváření víc parametrů, například přístupová privilegia či síťové propojení s jiným, již vytvořeným virtuálním serverem. Virtuální servery můžete v případě potřeby přesouvat nejen mezi svým datovým centrem a službou Windows Azure, ale i mezi jinými poskytovateli služeb. 2 SQL Server 2012 v cloudu Obrázek 2.3: Možnost přesouvání virtuálních serverů mezi lokálním datovým centrem a službou Windows Azure

30 KAPITOLA 2 SQL SERVER 2012 V CLOUDU Ukládání a zpracování údajů v cloudové platformě Windows Azure Různé druhy aplikací potřebují různé druhy údajů. Proto nabízí Windows Azure několik různých způsobů ukládání a správy dat. Jeden z intuitivních způsobů už byl zmíněn SQL Server anebo jiný DBMS na vámi vytvořeném (a spravovaném) virtuálním serveru. Kromě toho nabízí Windows Azure tři hlavní možnosti ukládání a správy údajů: SQL Database Tables Blobs SQL Database Microsoft SQL Database je relační databázová služba v cloudu, která vychází z technologií SQL Serveru. Předtím měla označení SQL Azure. Služba poskytuje všechny klíčové funkce relačního databázového systému, včetně atomických transakcí či multiuživatelského přístupu, při zachování integrity údajů. SQL Database zjednodušuje zprovoznění a nasazení velkého počtu databází. Vývojář nemusí instalovat, nastavovat, aktualizovat ani spravovat žádný software. K základním funkcím patří vysoká dostupnost a odolnost proti chybám. SQL Database podporuje jazyk Transact-SQL (T-SQL), služby pro správu relačních databází (RDBMS), vytváření, zpracovávání a úpravy tabulek, pohledů, indexů, rolí, uložených procedur a funkcí, transakce a dočasné tabulky. Zákazník může vycházet z existujících znalostí vývoje v T-SQL a známého relačního datového modelu, který odpovídá existujícím, interně provozovaným databázím. Může také využívat podmnožinu uložených procedur a systémových zobrazení z existující verze systému SQL Server. K údajům je možné přistupovat z aplikací prostřednictvím známých programovacích modelů, jako jsou Entity Framework, ADO.NET, JDBC a další. Na správu údajů je možné využívat SQL Server Management Studio. SQL Database se nedá zjednodušeně charakterizovat jako DBMS v cloudu. Je to komplexní PaaS. Nabízí možnost federace, která distribuuje data mezi víc serverů. To je užitečné pro aplikace, které pracují s velkými objemy dat nebo požadují extrémní výkon. SQL Database umožňuje: Vyvíjet vlastní škálovatelné webové aplikace pro malé a střední podniky, nadšence a začínající firmy. Vyvíjet balíčky obchodních aplikací, což využijí především tradiční výrobci softwaru, poskytovatelé SaaS a vývojáři aplikací na zakázku. Vyvíjet aplikace pro jednotlivá oddělení velkých společností. Konsolidovat v prostředí cloudu různé zdroje dat a poskytovat k nim zabezpečený přístup z různých míst, stolních počítačů i mobilních zařízení. Výhody technologie SQL Database: Není potřeba instalovat a aktualizovat software. Automaticky zajišťuje vysokou dostupnost a odolnost proti chybám. Umožňuje jednoduše zprovoznit a nasadit větší počet databází.

SQL SERVER NA CLOUDOVÉ PLATFORMĚ WINDOWS AZURE 31 Podle potřeb firmy může škálovat databáze vertikálně i horizontálně. Podporuje koncept multitenancy (víceklientská architektura). Dá se integrovat se systémem SQL Server a sadou nástrojů včetně produktu Visual Studio. Podporuje známý relační databázový model jazyka T-SQL. Tables Přestože se jedná o strukturované úložiště, není to relační databáze, protože neumožňuje relace přes cizí klíče ani přímé spojování údajů z více tabulek. Můžete použít jen jeden index a transakční zpracování je možné jen v rámci oddílu. 2 SQL Server 2012 v cloudu Obrázek 2.4: Princip fungování úložiště Tables Předpokládejme, že chcete vytvořit Windows Azure aplikaci, která potřebuje rychlý přístup k údajům, které mají jednoduchou strukturu a nad nimiž není nutné vytvářet složité SQL dotazy. Typickým příkladem je aplikace ukládající profil zákazníka. Pokud bude aplikace úspěšná, je potřeba počítat s velkým množstvím údajů. Tehdy má význam technologie Tables, která je typickým příkladem NoSQL databáze s přístupem typu klíč/hodnota. Blobs Blob (Binary Large Objects) je úložiště určené pro binární údaje, případně multimediální údaje (fotografie, soubory MP3, videa atd.). Ty jsou zapouzdřeny v kontejnerech, přičemž každý kontejner zabírá jedno anebo více úložišť Blob, která mohou mít velikost až do jednoho terabajtu a mohou mít asociovaná metadata, jako jsou údaje o souboru (například co je na fotografii nebo v hudební nahrávce). Aplikace (role) mohou spolupracovat s tímto úložištěm stejně, jako kdyby bylo lokálním souborovým systémem NTFS. Rozlišujeme dva typy: Block Blob optimalizovaný pro streamovací scénáře. Blob sestává ze sekvence bloků o velikosti maximálně 4 MB, přičemž limit na blob je 200 GB. Page Blob pro klasické náhodné scénáře čtení/zápis. Blob sestává z pole stránek, přičemž limit na blob je 1 TB.