SQL Server 2012 adatbáziskezelés

SQL Server 2012 adatbáziskezelés,

avagy adatbázisok üzemeltetése a desktoptól a felhőig

Mottó: Adatzsonglorködés földön, vízen, felhoben

Bemutató-videó

Ez a 40 órás tanfolyam átfogó képet, valamint gyakorlatot nyújt az SQL Server üzemeltetés és programozás legfontosabb témaköreiből. Kifejezett célja, hogy azokat az eljárásokat és technológiákat ismertesse meg a hallgatósággal, amelyek egy SQL Server üzemeltetése kapcsán nap mint nap felmerülhetnek. Ezért van benne mentés-helyreállítás és export-import. Foglalkozunk az indexekkel és a teljesítményhangolással. Fontos célja, hogy átfogó módon megismerkedjünk például az adattípusokkal, mert feltételezzük, hogy a hallgató életében eljön a pillanat, amikor adatbázist kell létrehoznia, de nem célja, hogy bitszintig belemásszunk a dotnetes adattípusok SQL Serveres integrációjába, mert ez utóbbi extrém sport.
Úgy gondoljuk, ma már mindeki számára reális alternatíva a havi 2000 Ft-ért elérhető Azure SQL Server adatbázis, ezért egy külön fejezetet szánunk a felhőben tárolt adatok kezelésére.

Kiknek ajánljuk
A tanfolyamot mindazoknak a gyakorló rendszergazdáknak ajánljuk, akik teljes egészében szeretnék ismerni a rendszerüket, új lehetőségeket szeretnének megismerni napi feladataik megkönnyítésére. 

Verziófüggőség
A tanfolyamon ugyan az SQL 2012-t használjuk, az elhangzottak 90%-a azonban akár még SQL 2000 esetén is használható. A Transact SQL örök!

Technikai tudnivalók
A tanfolyam otthoni végzéséhez szükség van egy olyan számítógépre, amelyre az SQL 2012-t fel lehet telepíteni. Ez tipikusan egy Windows Server 2008 R2-t jelent, 4 GB memóriával.

Szükséges előismeretek
A résztvevőknek rendelkezniük kell a relációs adatbáziskezelők fogalmi szintű ismeretével és a működés alapvető módjával (kliens-szerver architektúra). Az SQL-nyelv ismerete előnyt jelent.
Megszerzett képességek
A tanfolyamot elvégzők képesek lesznek SQL Azure-t és helyszíni SQL Servereket üzemeltetni, finomhangolni, feladatokat automatizálni, adatbázis tervezni, objektumokat létrehozni, adatokat export-importálni és jogosultságokat állítani.
A tanfolyam hossza:
40 óra
Ár (online és tantermi részvétel esetén egyaránt)
Magánszemélyek részére: bruttó 69 000 Ft
Cégek, intézmények részére: 69 000 Ft + áfa
A képzésen 67 fő vett részt.

Részletes tematika és videók

Minden előadásról videó készül, melyet a résztvevők tetszőlegesen visszanézhetnek, illetve le is tölthetnek.
1. nap: Az SQL Server 2012 felügyeleti eszközeinek áttekintése
2012. május 21., hétfő, 17:00 - 19:30

Elsőként átteintjük, mi is került a gépünkre az SQL 2012 telepítése során. Milyen biztonsági, nyelvi és egyéb beállításokat kaptunk, és ezeknek mi a hatása az SQL Server további életére? Ezt követően végignyomkodjuk az SQL Server Management Studió legfontosabb részeit: az Object Explorert (adatbázisok, táblák, nézetek stb.), a Query ablakot (lekérdezések futtatása) és az Activity Monitort, mindegyikben végrehajtunk egy-egy jellemző feladatot (pl. adatbázis és tábla létrehozása). Vetünk egy futó pillantást a végrehajtási tervekre is, amivel komolyabban a teljesítménytuningolás fejezetben fogunk foglalkozni. Ezt követően megismerkedünk az SQL Profiler eszközzel, ami minden rendszergazda és fejlesztő csodafegyvere az SQL Server "ellen" vívott harcban.

Szerverbeállítások, CREATE DATABASE (.zip)
356Kb
Szerverbeállítások, CREATE DATABASE (.wmv) 01:11:35
284 913Kb
Táblák létrehozása (.wmv) 01:14:38
308 375Kb
2. nap: Transact SQL gyorstalpaló I: DDL-ek, SELECT utasítás, INSERT-UPDATE-DELETE
2012. május 23., szerda, 17:00 - 19:30

Elsőként néhány DDL (Data Definition Lanuage) utasítással ismerkedünk meg, mint például CREATE TABLE és társaik. Ennek az a célja, hogy ne csak egerészve tudjuk objektumokat létrehozni, hanem értelmezni tudjuk a TSQL scripteket is. A DDL-szenthármas a következő utasításokból áll: CREATE, ALTER, DROP. Amikor pedig készítettünk egy egyszerű táblaszerkezetet, végigvesszük a legfontosabb SQL-parancsok működését. Lesz itt egyszerű SELECT, de persze szűrés, sorbarendezés és csoportosítás is. Emellett megnézzük, hogyan kell használni az adatmódosító utasításokat (INSERT-UPDATE-DELETE) különböző nehézségű feladatok esetén.

Adattípusok, táblák (.zip)
356Kb
Adattípusok, táblák (.wmv) 01:27:37
476 348Kb
Egyszerű SELECT utasítások (.zip)
359Kb
Egyszerű SELECT utasítások (.wmv) 00:51:40
267 820Kb
3. nap: Transact SQL gyorstalpaló II: összetett SELECT utasítások, JOIN
2012. május 25., péntek, 17:00 - 19:30

Összetett SELECT utasítások alatt a csoportosításokat (GROUP BY), összegzéseket, a táblák összekapcsolását végző JOIN-t, valamint a beágyazott SQL parancsokat értjük. Fontos ismeret, hogy hogyan kell több táblát összekapcsolni, és lekérdezni azokat a vevőket, akiknek a rendelésszáma nagyobb mint X, vagy éppenséggel azokat, akik nem vásároltak tűlünk semmit (OUTER JOIN). A beágyazott lekérdezések pedig lehetővé teszik, hogy mindenhová SQL-lekérdezést írjunk, ahová kifejezést lehet írni: mezők helyére, JOIN után tábla helyett stb.

Tesztadatok és GROUP BY (.zip)
356Kb
Tesztadatok és GROUP BY (.wmv) 01:20:15
353 088Kb
Táblák összekapcsolása (.zip)
358Kb
Táblák összekapcsolása (.wmv) 01:03:22
302 683Kb
4. nap: Adatbázstervezési alapismeretek, adattípusok
2012. május 30., szerda, 17:00 - 19:30

Az SQL Server adattípusainak, valamint a normalizálási szabályoknak az ismeretében már bárki elkezdhet nem túl tragikus szerkezetű adatbázisokat megtervezni és létrehozni. Mi legyen az elsődleges kulcs? Mit hoz létre pontosan a PRIMARY KEY "konsztrént" Mi az az IDENTITY? Külön kisregény a változó hosszúságú (VAR...) szöveges oszlopok kérdésköre. Az egyes adattípusokon túl megismerkedünk a NULL különleges szerepével és kezelésével. Végezetü, egy picit eljátszadozunk a nem tipikus adattípusokkal: XML és Spatial. Ezek mindegyike önmagában külön tudományág, ám nem is olyan ördögnös feladat egy használható példát összerakni példul a geokoordináták tárolására alkalmas geography adattípus működésének demonstrálására.

Normalizálás, denormalizálás (.zip)
356Kb
Normalizálás, denormalizálás (.wmv) 01:11:51
394 405Kb
HierarchyID, XML, Geography (.zip)
357Kb
HierarchyID, XML, Geography (.wmv) 01:23:54
439 472Kb
5. nap: Jogosultsági rendszerek
2012. június 1., péntek, 17:00 - 19:30

Az SQL Serverben két különálló lépésre bomlik a bejelentkezés (autentikáció) és jogosultságszerzés (autorizáció). Az elsőt akár a Windowsra is bízhatjuk, a második azonban mindig az SQL Server feladata. Ki az az SA? És kicsoda DBO? Hogyan adjunk jogosultságot élő és élettelen (pl. IIS Service) felhasználóknak? Mit tehet a Public(um)? GRANT, REVOKE és DENY utasítások szerver- és adatbázisszinten. Hozzá kell tenni, hogy mindennapi felhasználás során gyakori, hogy az SQL-adatbázis egyfelhasználós (mondjuk egy webkiszolgáló a "felhasználója", nekünk mégis különálló hozzáférési megoldásokat kell megvalósítanunk. Egy júzer esetén hogyan? Hát nézetekkel (View) és tárolt eljárásokkal! Lássuk a nézetek (View) használatát a "mindennapokban"!

Kikopi :) (.zip)
356Kb
Kikopi :) (.wmv) 00:00:16
1 771Kb
Jogosultsági rendszer (.zip)
356Kb
Jogosultsági rendszer (.wmv) 01:14:17
376 976Kb
Sorszintű jogosultság, titkosítás (.zip)
357Kb
Sorszintű jogosultság, titkosítás (.wmv) 00:56:59
279 009Kb
6. nap: Tárolt eljárások, függvények, triggerek
2012. június 4., hétfő, 17:00 - 19:30

Ennek a fejezetnek az a célja, hogy demisztikáljuk a tárolt eljárásokat, függvényeket, triggereket. Ez egy hatalmas témakör, aminek csak a felszínét fogjuk érinteni, a málységeket meghagyjuk a progrmozóknak. Odáig azonban eljutunk, hogy készítünk egy-két tárolt eljárást egyszerű feladatok elvégzésére, létrehozunk minden függvénytípusból (skalár, összegző, táblatípusú) egyet-egyet, valamint készítünk egy Móricka-triggert, ami megakadályozza, hogy egy táblán "illetéktelen" módosításokat hajtsunk végre. Megismerkedünk a DELETED-INSERTED memóriatáblákkal is. A fejezet részét képezi a nem-halmazorientált parancsok ismertetése (ciklus, elágazás, változók)

Tárolt eljárások, triggerek (.zip)
356Kb
Tárolt eljárások, triggerek (.wmv) 01:27:26
431 059Kb
Skaláris és táblaértékű függvények (.zip)
357Kb
Skaláris és táblaértékű függvények (.wmv) 01:03:58
319 980Kb
7. nap: Mentés, helyreállítás, snapshotok
2012. június 6., szerda, 17:00 - 19:30

Az SQL Server a legstabilabb szerverszolgáltatások egyike, pont. Ennek ellenére az adatok mentése és visszaállítsa rutinfeladat kell, hogy legyen, mert ha nem az SQL Server hal be, akkor majd a vas. Arra is van reális esély, hogy a legveszélyesebb felhasználó, a SysAdmin követ el valami halálos adatmódosítást. Egy szó mint száz, menteni kell. Az SQL Server esetén ez nem is annyira könnyű, mivel a képbe bezavar a tranzakciónapló és a recovery üzemmód. Ezeket nem csak fogalom, hanem a gyakorlat szintjén ismerni kell, hogy a megfelelő mentési stratégiát kiválaszthassuk. A visszaállítás pedig innentől már gyerekjáték ... hacsak fent nem akadunk az éles adatok védelmét és a véletlen visszaállítást kiküszöbölő szűrők valamelyikén. Ezt tanulni kell!

A pillanatfelvételek, vagy magyarul snapshotok egyszerű, egylépéses visszaállítást tesznek lehetővé azon az áron, hogy valakinek a snapshotokkal is foglalkoznia kell: létrehozás, letörlés stb.

A 2012 újdonságai közül az Always On technológiacssalád érdemel még említést: tükrözünk és (akinek egynél több gépe van) fürtözünk.

Backup, Restore (.zip)
356Kb
Backup, Restore (.wmv) 01:16:41
402 618Kb
Rendszeradatbázisok mentése, snapshotok (.wmv) 00:43:08
225 965Kb
8. nap: Indexelés, teljesítménytuning
2012. június 8., péntek, 17:00 - 19:30

Már az előző fejezet elég erőteljesen tuningszagú volt, az igazi munka azonban csak most kezdődik. Ezidáig értelmes indexet még nem készítettünk, pedig ezek adják a teljesítményhangolás alfáját és omegáját. Megismerkedünk a kétféle indextípussal (clustered és normál), (szemet hunyunk a további indextípusok (pl. XML) felett...), felépítésükkel, készítésükkel és használatukkal. Ezen az akalmon gyakran fogjuk nézegetni a végrehajtási terveket, hogy lássuk, ténykedésünk valódi hatással járt-e. Az indexstatisztikák működésének ismerete segít belátni, hogy nem minden index jó index, sőt, vannak teljesen vacak, felesleges indexek is. Végül úgynevezett optimizer hintekkel ráerőszakoljuk egyik-másik indexünket az SQL Serverre, hadd szenvedjen, és mi lássuk, milyen is az, amikor egy nem túl jó indexszel esik neki egy feladatnak.

JOIN stratégiák, materializáció (.zip)
357Kb
JOIN stratégiák, materializáció (.wmv) 00:53:31
272 547Kb
CREATE INDEX (.wmv) 01:14:46
392 984Kb
9. nap: Tranzakciókezelés, zárolási rendszer, halálos ölelés
2012. június 11., hétfő, 17:00 - 19:30

Komolyabb rendszereknél már nem egyedi adatmódosító utasításokkal lavírozunk, hanem bizony összefogjuk azokat egy-egy tranzakcióba. Tanuljuk meg, mitől "savas" (ACID) egy tranzakció, és ez milyen váltázásokat okoz a rendszer életében, különösen többfelhasználós környezetben. Mik azok a zárak? Kik nyitják-zárják azokat? Mi a céljuk, Ki kit zár ki, és mennyi időre? Mitől olyan TETŰ LASSÚ az SQL Server? Ki tehet róla? Hogyan lehet ezeket montorozni, az ütközéseket feltárni, a normális működést helyreállítani? Az Activity Monitor szerepe.

Végezetül "megalkotunk" egy deadlockot, hogy mindenki a saját bőrén tapasztalja, milyen is az, amikor egy tranzakció elszáll.

Zárak, szemétolvasás, optimizer hintek (.zip)
356Kb
Zárak, szemétolvasás, optimizer hintek (.wmv) 01:05:09
322 965Kb
Deadlock készítése és a helyzet megoldása (.zip)
356Kb
Deadlock készítése és a helyzet megoldása (.wmv) 00:44:13
240 458Kb
Maintenance Plan (.wmv) 00:17:30
83 605Kb
10. nap: Export, Import, Scriptelés, SSIS, SSDT
2012. június 13., szerda, 17:00 - 19:30

Az SQL Server fejlett adatátviteli képességekkel rendelkezik. Elsőként a varázslatos Export-Importot tekintjük meg, és adatot viszünk át Excelből SQL Serverbe, onnan a Felhőbe stb. Sajnos a varázslat egy bizonyos ponton megbukik: a felhőbe - érdekes módon - unintelligens módon, az IDENTITY-k elveszejtésével tud csak adatot feltolni. Ilyen esetekben az ember a parancssorba menekül, és a jó öreg BCP parancsot használja adatátvitelre.
Egy másik nagy területe az adatátvitelnek a sémaszinkronizáció. Ha egy adatbázis szerkezete változik itt, hogyan kerül át a változás amoda? Az SQL 1012 megjelenéséig erre a feladatra nem volt Microsoftos eszköz. Most van. A neve: SQL Server Data Tools.

Export, import, BCP, DACPAC, BACPAC (.zip)
356Kb
Export, import, BCP, DACPAC, BACPAC (.wmv) 01:15:24
389 649Kb
SQL Data Tools (.wmv) 01:13:06
326 648Kb
11. nap: Feladatautomatizálás
2012. június 15., péntek, 17:00 - 19:30

Milyen szép is lenne, ha a mentésekkel, indexstatisztika-számításokkal, konzisztenciaellenőrzésekkel nem kellene személyesen foglalkoznunk, hanem azt az SQL Server automatikusan elvégezné! Jó hírünk van, nemcsak hogy elvégzi éjszakánként, de még ráadásul levelet is küld a feladatok sikerességéről. Ebben a fejezerben a Maintenance Wizardot és az SQL Agentet vesszük górcső alá, különös tekintettel a gyakori feladatok automatizásására.

Az SQL Server Agent körüljárása (.zip)
356Kb
Az SQL Server Agent körüljárása (.wmv) 01:12:44
426 124Kb
Riasztások hibára, perfmon számlálóra (.zip)
356Kb
Riasztások hibára, perfmon számlálóra (.wmv) 00:39:04
198 425Kb
12. nap: Felhőjárás, SQL Azure
2012. június 18., hétfő, 17:00 - 19:30

Ebben a fejezetben - mintegy gyakorlásképpen is - az eddigi feladatokat (már ami értelmezhető a felhőben) fogjuk elvégezni SQL Azure adatbázison, kezdve az adatbázis létrehozásától a tuningolásig. Mi érhető el a felhőben, és mi nem, és ami nem, az miért? Hiányzik-e nekünk például a mentés-visszaállítás? Ezt követően a DataSync komponenssel vívunk meg, hogy lehozzuk a felhőből az adatot a mi gépünkre.

Az SQL Azure körbejárása (.zip)
356Kb
Az SQL Azure körbejárása (.wmv) 01:05:38
294 137Kb
Data Sync, és még TSQL újdonságok (.zip)
357Kb
Data Sync, és még TSQL újdonságok (.wmv) 01:01:20
316 019Kb
13. nap: Egyszerű adatbáziskezelő webalkalmazás összetákolása MVC-vel
2012. június 20., szerda, 17:00 - 19:30

Egy mindennapi használatra szánt SQL-tanfolyam nem lenne teljes a "másik oldal" valamilyen szintű ismerete nélkül. Éppen ezért esünk neki a
Móricka-webalkalmazás elkészítésének ASP.NET MVC renszerrel. Ami itt SQL, az ott is, csak LINQ a neve. Ami itt tábla, az ott is, csak objektum
a neve. Am itt lekérdezés, az ott is, csak weblap a neve. Ami itt adatmódosítás, az ott is, csak űrlap (form) a neve. A hagyományos táblázatos megjelenítésen és szerkesztésen kívül lesz itt autentikáció, képkezelés, és sok minden más. Nem kell félni, nem fog fájni! (Egy ingyenes Visual Studióra azonban mindenkinek szüksége lesz.)

Képkezelés MVC-vel (.zip)
7 070Kb
Képkezelés MVC-vel (.wmv) 00:44:57
245 755Kb
MVC alapok, meg egy kis LINQ (.wmv) 01:27:02
431 442Kb
14. nap: Reporting Services +az SQL Server 2012 újdonságai
2012. június 22., péntek, 17:00 - 19:30

A Reporting Services ismerete nélkül nem lehhe teljes a tanfolyam. Ma már nem igazán érdemes semmiféle adatmegjelenítő oldalt kézzel összetákolni, ha egyszer a Reporting Services gyakorlatilag mindent tud. Akár varázslással is messzire lehet jutni, programozással meg aztán tényleg mindent meg lehet vele csinálni.

Utolsó fejezetünkben az SQL 2012 újdonságait fogjuk csokorba. Van itt minden, amire már régen vártunk: szekvenciaobjektum, format függvény, hibakezelési újdonságok, lapozós lekérdezések a programozói oldalon és Always On az üzemeltetői oldalon.

Reportok varázslázsa (.wmv) 00:52:10
293 828Kb
Még két kattintás a Report Configban... (.zip)
356Kb
Még két kattintás a Report Configban... (.wmv) 00:12:56
67 923Kb
A Report Server saját szerkesztőjének használata (.wmv) 00:13:31
78 166Kb
Csodálatos UI-elemek felhasználása, majd Azure publish (.wmv) 00:35:49
213 783Kb