KAPITOLA 1 Představení platformy Microsoft SQL Server 2008 Krátký p o h l e d d o historie SQL S e r v e r u S o u h r n n ý přehled novinek, které přináší verze S Q L Server 2 0 0 8 Optimalizovaná instalace a konfigurace Vynucení politiky přes Declarative M a n a g e m e n t Framework K o m p r e s e údajů a záloh Správa zdrojů ( R e s o u r c e G o v e r n o r ) Prediktivní systém optimalizace výkonu Rozšířená správa událostí Technologie Spatial pro práci s geometrickými a geografickými údaji Novinky v oblasti b e z p e č n o s t i Silný databázový t a n d e m LINQ, XML a SQL Novinky v jazyku T-SQL Verze SQL Serveru 2 0 0 8 SQL Server 2 0 0 8 Enterprise Edition SQL Server 2 0 0 8 Standard Edition SQL Server 2 0 0 8 Workgroup Edition SQL Server 2 0 0 8 W e b Edition SQL Server 2 0 0 8 Compact Edition SQL Server 2 0 0 8 Express Edition
KAPITOLA 2 Instalace SQL Serveru 2008 Požadavky na hardware Požadavky na software Instalace SQL Serveru n a virtuální server n e b o virtuální p o č í t a č Virtualizace v praxi Princip fungování Hypervizor B e z p e č n o s t a spolehlivost
Dvakrát otestuj a až p o t o m nasaď d o o p e r a č n í h o prostředí P r ů v o d c e instalací S Q L Server Installation C e n t e r Příprava na instalaci - záložka Planning Instalace databázového serveru - záložka Installation P o d p o r a SQL Serveru 2 0 0 8 napříč celým j e h o životním c y k l e m . . U p g r a d e ze starších verzí 2 0 0 0 a 2 0 0 5 Upgrade z p o h l e d u klientů a klientských aplikací Instalace c v i č n ý c h databází AdventureWorks 2 0 0 8 AdventureWorksLT 2 0 0 8 Odinstalování S Q L S e r v e r u 2 0 0 8
KAPITOLA 3 Kompletní konfigurace SQL Serveru 2008 SQL S e r v e r M a n a g e m e n t Studio Výpis parametrů a vlastností Konzolová aplikace SQLCMD SQL S e r v e r Configuration M a n a g e r S p u š t ě n í a zastavení d a t a b á z o v é h o serveru
KAPITOLA 4 Základy práce s databázemi I n t e r a k c e s d a t a b á z o v ý m s e r v e r e m prostřednictvím SQL Server M a n a g e m e n t Studia Spouštění a ladění SQL příkazů Spouštění a ladění uložených p r o c e d u r Automatické generování SQL příkazů pro vybranou tabulku D a t a b á z o v é diagramy Základní o p e r a c e s databází a údaji Vytvoření nové databáze Databázové o b j e k t y a jejich vlastnictví Vytvoření s c h é m a t u Vytvoření databázové tabulky Vkládání a modifikování záznamů Výběr údajů z databázové tabulky Vytváření indexů Vytváření p o h l e d ů T-SQL j a k o p r o c e d u r á l n í n a d s t a v b a jazyka SQL Komentáře Ladicí výpisy
P r o m ě n n é a jejich naplnění z b u n ě k databázové tabulky Řízení toku vykonávání příkazů v jazyku T-SQL Skripty a dávky Ošetření chyb v T-SQL Kurzory Uložené procedury Funkce Spouště (triggers)
KAPITOLA 5 Centralizovaná správa instancí přes Policy-Based Management Architektura Policy-Based M a n a g e m e n t u Aspekt Podmínka Politika Příklad - Definování politiky pro názvy o b j e k t ů 1. Přípravná fáze 2. Vytvoření p o d m í n k y pro definování politiky 3. Definování politiky 4. Ověření dodržování politiky Definování politiky, kterou s o u č a s n é nastavení n e s p l ň u j e 1. Přípravná fáze - zapnutí funkcionality CLR 2. Definování p o d m í n k y a politiky pro zákaz funkcionality CLR 3. Aplikování politiky pro konkrétní databázový server
KAPITOLA 6 Zabezpečení serveru a údajů Správa uživatelských práv Správa uživatelských práv v prostředí SQL Server M a n a g e m e n t Studio . . . Vytvoření nového uživatelského účtu na serveru Správa uživatelů p o m o c í systémových uložených p r o c e d u r Vytvoření uživatele v databázi Role Schémata Nastavení práv uživatele pro přístup k o b j e k t ů m databáze Transparentní šifrování Vytvoření a správa klíčů Auditování
KAPITOLA 7 Zálohování, export a import údajů Zálohování dat Modely o b n o v y databáze Zálohování databáze K o m p r i m a c e zálohy Vytvoření M a i n t e n a n c e plánu pro zálohování Zrcadlení d a t a b á z e Replikace databáze I m p o r t a e x p o r t údajů Příklad pro import údajů d o databáze P r o b l é m y při importu dat
KAPITOLA 8 Přidělování a optimalizace výkonu SQL Serveru 2008 Přidělování v ý k o n u a zdrojů prostřednictvím R e s o u r c e G o v e r n o r Princip fungování R e s o u r c e Pool - vytvoření a nastavení Workload G r o u p - vytvoření a nastavení Klasifikační funkce Příklad s c é n á ř e pro demonstraci možností Resource Governor Příklad s c é n á ř e pro nastavení Resource G o v e r n o r pro skupiny uživatelů . . P e v n é vykonávací plány Příklad s c é n á ř e pro pevný vykonávací plán M o n i t o r o v á n í aktivit a r e p o r t y provozu v SQL Server M a n a g e m e n t Studio . . D a t a b a s e E n g i n e T u n i n g Advisor SQL Profiler M o n i t o r o v á n í SQL Serveru R o z d ě l e n í d a t a b á z o v é tabulky na v í c e oddílů Rozdělení databáze na více s o u b o r ů Rozdělení existující tabulky na oddíly Příklad vytvoření tabulky rozdělené na oddíly K o m p r e s e údajů Řádková k o m p r e s e Stránková k o m p r e s e Typické s c é n á ř e pro kompresi Zhuštění d a t a b á z e Snapshot
KAPITOLA 9 Novinky v práci s relačními údaji
<
T-SQL novinky Deklarování a inicializace p r o m ě n n ý c h Vkládání více záznamů v rámci j e d n o h o příkazu INSERT Vylepšení příkazu UPDATE pro z m ě n u záznamů Příkaz T O P n Výpis vzorku údajů p o m o c í klauzule TABLESAMPLE Klauzule O U T P U T Poziční funkce RANK, DENSE_RANK, R O W . N U M B E R a NTITLE . . . MERGE Operátor APPLY Operátory PIVOT a UNPIVOT C o m m o n Table Expressions ( C T E ) Ošetření chyb p o m o c í konstrukce T R Y CATCH GROUPING SETS Nové datové typy na platformě SQL Serveru 2 0 0 8 Nové datové typy pro datum a čas Datový typ TABLE Řídké sloupce Filtrované indexy a statistika Hierarchická data Příklad i m p l e m e n t a c e hierarchické struktury Zachytávání z m ě n v databázových t a b u l k á c h Fulltextové vyhledávání Vytvoření fulltextového katalogu Vytvoření fulltextového indexu p o m o c í p r ů v o d c e Vytvoření fulltextových indexů p o m o c í příkazu jazyka SQL Výpis klíčových slov Predikát FREETEXT pro sestavení p o d m í n e k vyhledávání Predikát CONTAINS pro sestavení p o d m í n e k vyhledávání Fulltextové vyhledávání v d o k u m e n t e c h Ukládání d o k u m e n t ů do databáze Fulltextové vyhledávání v d o k u m e n t e c h
KAPITOLA 10 Práce s nerelačními údaji a strukturami XML jako nativní m ó d p r o ukládání údajů XML d o k u m e n t Výstup údajů z klasických tabulek do formátu XML
Načítání části XML d o k u m e n t u p o m o c í příkazu OPENXML Nativní XML datový typ Vkládání XML d o k u m e n t ů do nativního XML datového typu Naplnění p r o m ě n n é datového typu XML z databázové tabulky Validace XML d o k u m e n t u p o d l e schématu XML indexy Dotazování p o m o c í jazyka X Q u e r y Datový typ FILESTREAM Aplikační rozhraní pro FILESTREAM SPATIAL - n o v é m o ž n o s t i p r á c e s g e o m e t r i c k ý m i a geografickými ú d a j i . . . Geografické minimum, světový geodetický systém WGS 8 4 Dotazování v g e o m e t r i c k ý c h a geografických systémech Nástroje pro vizualizaci Spatial o b s a h u Definice základních g e o m e t r i c k ý c h objektů Ukládání g e o m e t r i c k ý c h objektů d o databázové tabulky a jejich výběr . . . Grafické zobrazování g e o m e t r i c k ý c h a geografických údajů v aplikaci SQL Server M a n a g e m e n t Studio Příklady o p e r a c í s g e o m e t r i c k ý m i o b j e k t y Ukládání geografických objektů d o databázové tabulky Spatial indexy I n d e x y pro g e o m e t r i c k é údaje I n d e x y pro geografické údaje Typické s c é n á ř e pro využití t e c h n o l o g i e Spatial Příklad pro g e o m e t r i c k é o b j e k t y Příklad určování vzdáleností v geografických souřadnicích Příklad určování příslušnosti k lokalitě Výběr objektů v okolí definované lokality Import údajů ve formátu SHP
KAPITOLA 11 Přístup k údajům pomocí LINQ O d o b j e k t o v ě r e l a č n í h o m a p o v á n í k t e c h n o l o g i i LINQ Architektura LINQ I n t e g r a c e LINQ d o .NET p r o g r a m o v a c í c h jazyků Základy jazyka LINQ Lambda výrazy LINQ to O b j e c t s LINQ to S Q L Příklad pro LINQ to SQL Vazby mezi objekty
Vytváření LINQ dotazů p o m o c í nástroje VLinq Q u e r y Builder Operátory jazyka LINQ Operátor J O I N Operátor WHERE Operátor O R D E R B Y Operátor SELECT Operátor groupby Vkládání, aktualizace a vymazávání údajů Odložené vykonávání LINQ dotazů
KAPITOLA 12 Databázové aplikace využívající SQL Server Klientský přístup a rozhraní p r o p ř i p o j e n í a p l i k a c e k databázi Rozšiřování funkčnosti SQL Serveru v .NET jazycích „CLR" uložené procedury „CLR" uživatelsky definované funkce „CLR" spouště (trigger) Příklad projektu typu SQL Server Project Import existující CLR assembly Windows aplikace využívající CLR funkcí Využití regulárních výrazů v CLR kódu Databázové PHP aplikace využívající SQL Server 2 0 0 8 Konfigurace PHP pro přístup k údajům SQL Serveru 2 0 0 8 Výpis textu a obsahu p r o m ě n n ý c h d o kontextu klientské HTML stránky.. Funkce PHP pro spolupráci s SQL Serverem ADO.NET Vytvoření objektu pro připojení Otevření připojení SQL.Client - kód m i m o databázi ADO.NET Entity F r a m e w o r k Entity Data Model Architektura ADO.NET Entity Framework Příklad databázové aplikace s využitím ADO.NET Entity Framework ADO.NET Entity Provider Dotazovací jazyk Entity SQL Object Services LINQ to Entities ADO.NET Data Services
KAPITOLA 13 Datové služby SQL S e r v i c e B r o k e r SQL Server D a t a S e r v i c e s SQL S e r v i c e s jako s o u č á s t platformy W i n d o w s Azure