10
Vysoká škola báňská – Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení
Informační systémy 2008/2009 Radim Farana 1
Obsah z Export a import dat {Formát XML a SQL server {Zálohování a obnova dat {Export a import dat {Replikace dat
z Doporučená literatura: Buranský, I. XML a webové služby. Prienik do XML cez Microsoft .NET a Murphyho zákony. Praha : Microsoft, s.r.o., 2002, 132 s. Informační systémy
2
Základní principy XML
Informační systémy
3
1
Vyjádření obsahu tabulky v XML
Informační systémy
4
Výstup dat ve formátu XML zPřidání klauzule FOR XML mode [, XMLDATA] [, ELEMENTS][, BINARY BASE64] zMode: {RAW, {AUTO, {EXPLICIT.
zPozn.: Výstup Query Analyzeru je vhodné Problémy s délkou textu! změnit na Results in text (CTRL+T). Informační systémy
5
Mód výstupu AUTO zFOR XML AUTO
(5 row(s) affected)
Informační systémy
6
2
Mód výstupu RAW zFOR XML RAW XML_F52E2B61-18A1-11d1-B105-00805F49916B -------------------------------------------------------------------------------
|
(5 row(s) affected)
Informační systémy
7
Rozdělený výstupu na elementy zFOR XML AUTO, ELEMENTS XML_F52E2B61-18A1-11d1-B105-00805F49916B ------------------------------------------------------------------------------------------
<tp_nazev>hrdlení <tp_popis>jen mezi příbuznými <tp_cena>25.0000 <tp_nazev>kvákání <tp_popis>skupinové <tp_cena>1000.0000 … (5 row(s) affected)
Informační systémy
8
Vložení schématu XML zFOR XML AUTO, XMLDATA XML_F52E2B61-18A1-11d1-B105-00805F49916B ------------------------------------------------------------------------------<Schema name="Schema4" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="typyprace" content="empty" model="closed">
…
Informační systémy
9
(5 row(s) affected)
3
Export v módu EXPLICIT
bez klauzule FOR XML EXPLICIT
zVyžaduje přesně specifikovaný zdroj dat: USE PRACE SELECT 1 as Tag, NULL as Parent, typyprace.tp_nazev as [TypyPrace!1!tp_nazev], NULL as [TypyPrace!2!tp_cena] FROM typyprace UNION ALL SELECT 2, 1, typyprace.tp_nazev, typyprace.tp_cena FROM typyprace ORDER BY [TypyPrace!1!tp_nazev], [TypyPrace!2!tp_cena] FOR XML EXPLICIT …
Informační systémy
10
Strukturovaný výstup - příklad USE PRACE Typ práce SELECT 1 as Tag, NULL as Parent, - datum práce typyprace.tp_nazev as [TypyPrace!1!tp_nazev], - pracovník a výkon NULL as [Prace!2!p_datum], NULL as [Detail!3!p_pracovnik], XML_F52E2B61-18A1-11d1-B105-00805F49916B NULL as [Detail!3!p_kusu] ---------------------------------------------------------------FROM typyprace UNION ALL SELECT DISTINCT 2, 1, prace.p_typ, prace.p_datum, NULL, NULL FROM prace UNION ALL SELECT 3, 2, prace.p_typ, prace.p_datum, prace.p_pracovnik, prace.p_kusu FROM prace … ORDER BY [TypyPrace!1!tp_nazev], [Prace!2!p_datum], [Detail!3!p_pracovnik],[Detail!3!p_kusu] FOR XML EXPLICIT
Informační systémy
11
XML podpora v IIS pro SQL server 2000
Informační systémy
12
4
Konfigurace virtuálního adresáře
Povoleno kladení dotazů SQL
Další adresáře
Informační systémy
13
Přímé kladení dotazů
Je povolen jen jeden kořenový element
Informační systémy
14
Vytvoření kořenového elementu
Informační systémy
15
5
Využití šablon
Informační systémy
16
Zálohování a obnova dat SQL 2005 zVytvoření zálohy
Informační systémy
17
Časování záloh
Informační systémy
18
6
Musí pracovat SQL Server Agent
Informační systémy
19
Časování záloh
drag and drop
Informační systémy
20
Zřetězení činností
Informační systémy
21
7
Nastavení časování
Pozn. Nezapomeňte plán uložit!
Informační systémy
22
SQL Server Agent
Informační systémy
23
Obnova dat ze zálohy
Informační systémy
24
8
Obnova dat ze zálohy zPomocí T-SQL
Informační systémy
25
Import a export dat
Informační systémy
26
Import a Export Wizard
Export dat
Informační systémy
27
9
Definice transferu dat
Informační systémy
28
Provedení transferu dat
Informační systémy
29
Výsledek transferu dat zJsou vytvořeny pouze tabulky. zNejsou vytvořena omezení (CHECK, REFERENCE, DEFAULT). zNejsou přeneseny klíče (vlastní ani cizí). zJsou přenesena všechna data tabulek. zNejsou přenesena schémata (v MSAccess relace). Informační systémy
30
10
Import dat zJe nutno vytvořit prázdnou databázi
Import dat
Informační systémy
31
Definice importu dat
Informační systémy
32
Provedení importu dat
Informační systémy
33
11
SQL Server 2005 Integration Services (SSIS)
Informační systémy
34
Vytvoření SSIS Všechny textové datové typy musí být převedeny na formát UNICODE: varchar → nvarchar text → ntext …
Informační systémy
Výsledkem je soubor ve formátu XML
35
Editace SSIS – Visual Studio
Informační systémy
36
12
Uložení SSIS na SQL Serveru
Informační systémy
37
Replikace dat zUložení a správa dat na několika místech současně. zHlavní problémy: {Autonomie – každá databáze je nezávislá. {Zpoždění – změna dat na jednom místě se na ostatních neprovede okamžitě. {Konzistence dat – datová konvergence a konzistence transakcí. {Konzistence schématu. Informační systémy
38
Realizace replikace vydavatel publikace
odběratel
distributor distribuční databáze
odběratel Odběry se zasíláním (push subscription)
vydavatel odběratel Informační systémy
Odběry s vybíráním (pull subscription)
39
13
Typy replikací zSnímková replikace (snapshot). zSlučovaná replikace (merge). zTransakční replikace (transactional). zMožnost filtrování dat {Horizontální – výběr jednotlivých řádků. {Vertikální – výběr jednotlivých sloupců
Informační systémy
40
Snímková replikace zData jsou distribuována jednosměrně. Odběratel
Vydavatel/distributor
Data snímku Odběratel
Informační systémy
41
Realizace snímkové replikace Vydavatel
Distributor
Snímkový agent
Odběratel Starý objekt Nový objekt
Publikovaná data Odběratel Distribuční agent
Vhodné, pokud jsou cílové databáze používány pouze pro čtení.
Informační systémy
42
14
Postup snímkové replikace z Snímkový agent uzamkne všechny články (tabulky) v publikaci, která má být replikována. z Distributor převezme a vytvoří kopii schématu tabulky každého článku. z Snímková kopie tabulky je zapsána do snímku. z Snímkový agent odemkne všechny články. z Distribuční agent vytvoří v odběrateli cílové tabulky a objekty (např. indexy) a existující odstraní, zkopíruje do nich data ze snímků. Informační systémy
43
Slučovaná replikace zData jsou sloučena u vydavatele Vydavatel/distributor
Odběratel
Odběratel
Publikovaná data
Data pro replikaci Změněná data
Změněná data
Řešení konfliktů v datech
Informační systémy
44
Realizace slučované replikace Data od vydavatele Vydavatel
Distributor
Publikovaná data
Slučovací agent
Odběratel
Změny
Data od vydavatele Vyřešené změny
Odběratel Změny
Informační systémy
45
15
Postup slučované replikace zSpouště (nainstalované systémem) sledují změny v publikovaných datech (uživatelsky definované spouště) nejsou nijak ovlivněny). zZměny u vydavatele jsou aplikovány na odběratelích. zZměny u odběratelů jsou aplikovány na vydavatele včetně vyřešení případných konfliktů. Informační systémy
46
Transakční replikace z Na odběratele se přenáší jen přírůstkové změny Vydavatel/distributor
Odběratel transakce
Publikovaná data Odběratel transakce Je možné aplikovat bezprostřední aktualizaci odběratelů.
Informační systémy
47
Realizace transakční replikace Odběratel Vydavatel
Distributor
Publikovaná data
Agent pro čtení protokolu
Transakční protokol
Distribuční agent
Odběratel
Možnost minimalizace časové prodlevy, Minimalizace objemu přenášených dat
Informační systémy
48
16
Postup transakční replikace z Změny dat jsou zapsány do transakčního protokolu vydavatele. z Agent pro čtení protokolu prohledává transakční protokol a určí změny, které je třeba replikovat. z Změny jsou převzaty z transakčního protokolu a zapsány do distribuční databáze u distributora. z Distribuční agent tyto změny přenese do příslušných tabulek. z Agent pro čtení protokolu pracuje buď nepřetržitě nebo podle určeného časového plánu. Agent je spouštěn buď u vydavatele (odběry se zasíláním) nebo u odběratele (odběry se vybíráním). Informační systémy
49
Podpora replikací SQL Server 2005 z SQL Server Agent – realizuje replikaci, musí být spuštěn. z Snapshot Agent – pomáhá vytvořit replikace všech typů. z Log Reader Agent – podporuje transakční replikaci, poskytuje prostor pro transakce. z Distribution Agent – používá se pro snímkovou a transakční replikaci. z Merge Agent – používá se pro slučované replikace. z Queue Reader Agent – realizuje u odběratele zasílání změn při transakční replikaci zpět k vydavateli.
Informační systémy
50
Vytvoření snímkové replikace
Informační systémy
51
17
Vytvoření snímkové replikace
Informační systémy
52
Účet pro replikaci
Informační systémy
53
Vytvoření replikace
Informační systémy
Je potřeba spustit službu SQL Agent!
54
18
Podpora realizace replikací SQL Server 2000 z Configure Publishing and Distribution Wizard – nastavení publikování a distribuce. z Create Publication Wizard – vytvoření publikace. z Disable Publication and Distribution Wizard – ukončení publikace a distribuce. z Pull Subscription Wizard – vytvoření odběru s vybíráním. z Push Subscription Wizard – vytvoření odběru se zasíláním. Informační systémy
55
Umožnění publikování a distribuce SQL Server 2000
Informační systémy
56
Snímková a transakční publikace
Personal SQL server nepodporuje vydávání transakční replikace, ale jen její příjem.
Informační systémy
57
19
Filtrování dat
Informační systémy
58
Vytvoření publikace
Informační systémy
59
Slučovaná replikace
Informační systémy
60
20
Dokončení publikace
Informační systémy
61
Odběry se zasíláním
Informační systémy
62
Odběry s vybíráním
Informační systémy
63
21
Dokončení odběru
Informační systémy
64
Činnost agenta
Informační systémy
65
Monitor replikací
Informační systémy
66
22