Upload
bryant-parrent
View
221
Download
2
Tags:
Embed Size (px)
Citation preview
SQL Server felügyelet - üzemeltetőknekBitemo Erik GergelyInfrastructure Operations ManagerWalt Disney Magyarország Kft.SQL Server MVP – http://blog.rollback.hu
Órarend
BiztonságKezelhetőség, felügyeletTeljesítményhangolásHab a tortán sörön
Biztonság
Policy-based Management
„Group Policy for SQL Server”Többféle kiértékelési mód:
On Demand – igény szerint, akár több szerverre isOn Schedule – időzítve, SQL Agent jobkéntOn Change: Log Only – valósidejű feljelentős (naplózza a szabálytalanságot)On Change: Prevent – valósidejű helyszínen lelövő (megakadályozza)
Az ellenőrzési célfeltétel mellett előszürhetünk isCsak Enterprise Editionre fusson le a Resource Governor konfig ellenőrzés
SQL Express Editionnel is működikLehet mellé némi tájékoztatást rakni, hogy miért rollback
DDL* trigger, logon trigger
DDL trigger: objektum létrehozását, módosítását felügyelhetjükLogon trigger: belépéskor a login, időpont, kliens IP, SPID információk állnak rendelkezésre
Belépés szabályozható/naplózható, akár meg is tagadhatóElrontott logon trigger esetén DAC**-on keresztül tudunk belépni
AFTER triggerek, de tudnak rollbacket is (letörli a létrehozott objektumot/megtagadja a belépést az azonosított felhasználónak) és/vagy naplózni
* DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP)** DAC itt Dedicated Admin Connection
SQL Server Audit
Kimerítően részletes auditálási lehetőség, finomhangolhatóanGarantált megoldás a „belenéztek-e a DBA-k a HR adatbázisban fizetési adatokba ” problémára
Auditáld a SELECT queryket amik a Fizetes táblán futottak, és nem az alkalmazás volt az
Naplózza az audit változását is: ki mikor mit változtatott megMinimális többletterhelés – Extended Events alapú – nem gond a nagy forgalom semDatabase mirroringgal is működikKülső audit bizonyítékként elfogadott (PCI, stb.)
SQL Server 2008 R2 biztonság
demo
Kezelhetőség, felügyelet
Data-tier Application - DACDAC = Data-tier Application ComponentMSI-szerű élményt ad: egy csomagot telepítek, abból lesz az adatbázisAlkalmazás telepítéshez, upgrade-hez, kisebb adatbázisokhozSzerver kritérium megadható
Pl. csak adott collation esetén települjön
Adatbázis struktúra + login szinkronBármi, amit hozzátákoltunk, elvész upgrade soránAdatokat átviszi, ha/ahogy lehetRégi adatbázist meghagyja átnevezve
Nem minden adattípust támogatTipikus területek: tömeges telepítés, szigorú verziókontroll
Nagy cégSzoftvergyártó
SQL Server UtilityKözponti felület a szerverek kihasználtságának nyomonkövetésére (dashboard)Központi szerver: UCP (Utility Control Point)Mit mér?
CPU használat (gép/SQL Server/adatbázis)Adatfájl telítettségDiszk telítettség
Alsó és felső határok (underutilized, overutilized)DAC-korszak: monitorozás mehet instance és data-tier application szinten isNEM felügyeleti rendszer, hanem inkább elemző
U
Instance 2
Instance 1
Instance 3Instance 4
SQL Server Utility szerkezete
UCP
DAC DB2
DAC DB1
NemDAC
NemDAC
NemDACNem
DAC
NemDACNem
DACNemDAC
UtilityMDW
msdb
NemDAC
NemDAC
NemDAC
NemDAC
admin
SSMS
SQL Server Utility
SQL Server Utility
DMV: Dynamic Management View
Virtuális nézetek (nincs mögöttük tábla, csak varázslat), amit az SQL Server futásidőben produkálSzerver vagy adatbázis szintű információt adnakCsoportosítva vannak tartalom szerint: sys.dm_<csoport>_<nézet> nevűek, pl. sys.dm_db_missing_index_detailsVannak közöttük függvények is (DMF)Nem minden rendszernézet DMV! A DMV-ben tárolt adatok szerver újraindításnál nullázódnak
Change Tracking, Change Data Capture
Change tracking
A pillanatnyi állapotot tároljaSzinkron, triggeralapúMegváltozott oszlopot el tudja tárolni .
Change Data CaptureA rekord teljes történetét tároljaAszinkron, logból olvasA kiválasztott oszlopok adatait is eltárolja
Adatok változásának nyomonkövetésérePl. szinkronizáció alkalmazások között (egy v kétirányú) vagy adatexporthozKell kulcsoszlop a rekordok azonosításához
SQL Server 2008 R2 kezelhetőség
demo
Teljesítmény
Általános
Használjuk a legkisebb megfelelő adattípustHasználjuk a lehető legkevesebb indexetLegyenek megfelelő indexeinkÍrjunk keveset, olvassunk keveset (az adatbázisba)A legdrágább dolog a diszkhasználat, próbáljunk memóriából intézni mindentNézzünk execution plant, és vonjuk le a tanulságot
TömörítésTömöríthetjük az adatbázist magát és a mentést isAdatbázisban tábla/partíció/index szinten állítható be, sor vagy lapszintű tömörítést alkalmaz - a memóriában is tömörítve tárolja a lapotCPU-t memóriáért és diszk I/O-ért – általában megériKevesebb diszket használ a tömörített tábla
A várható megtakarítás becslése: sp_estimate_data_compression_savings
Titkosítás esetén nem nyerünk vele – a tömöríthető visszatérő mintát pont kiüti a titkosítás
Hangolás – Resource Governor
CPU és memória szabályozható veleWorkload group-okba kerülnek a sessionök belépéskor egy osztályozó függvény általSession – workload group – resource pool - kvótaA rendszerprocesszek védettek ellene – Internal resource poolCPU soft, memória hard limit
CPU-t ad többet, ha lehet, memóriát nehéz visszavenni
A ki nem használt minimum memória elveszettVersengés esetén nem ígér arányos elosztást
A max 70%-os pool kaphat több erőforrást, mint a max 100%-os, de nem többet 70%-nál
Resource Governor logika
CPU: min 0% max 25%
MEM: min 5% max 20%
Resource_pool_1
CPU: min 50% max 100%MEM min 50% max 95%
Resource_pool_2
Workload_group_1Priority: Medium
Workload_group2
Priority: Medium
Workload_group_3
Priority: LowMAX_DOP: 1
SPID 54
SPID 151 SPID
66SPID 63
SPID 152
SPID 151
SPID 152
SPID 151
SPID 152
SPID 151
SPID 152
SPID 151
SPID 152
SPID 94
Database Engine Tuning AdvisorSegít optimalizálni az adatbázis szerkezetétBemenet: SQL lekérdezés vagy Profiler trace fájl (workload)A workload fájl jóságán múlik a siker erősenIndexeket, statisztikákat, tábla particionálást ajánlKorlátozható az idő – maximum fél órát dolgozzonVan parancssora is – dta.exeEldönthetjük, hogy a meglévő struktúra megtartható vagy átírható (a meglévő indexek mellé v helyett ajánljon)Az eredményt érdemes összevetni a sys.dm_db_index_usage_stats és sys.dm_db_missing_idexes.. DMV-kkel
SQL Server 2008 R2 teljesítményhangolás
demo
Amiről még szerettem volna beszélni
Data Collector, missing index stats, execution plan feldolgozása és optimalizálás vele, database snapshots, teljesítménymonitorozás és bottleneck keresés, errorlog és feldolgozása, sqlcmd.exe, Extended Events, Plan guide, filtered index, a DMV-k „apró” kincsei, Transparent Data Encryption, nagy rendelkezésreállású rendszerek üzemeltetése: (mirroring, clustering, log shipping), SQL szerver és memória, particionált táblák, optimize for (unknown), online indexing, trace flagek, mentés-visszaállítás, PowerShell, performance counterek, SSMS apróságok, stb.
Hovatovább
Books Online mindenki barátjaTechnetKlub.hu – SQL Server szekcióAkit érdekel az SQL Server, jöjjön SQLKlubba!
http://www.sqlklub.hu
Én is írok blogot: http://blog.rollback.huNe feledjék az üzemeltetés ars poeticáját!Menjünk sörözni és beszélgetni!
„Ne légy szeles.Bár a munkádon más keres -dolgozni csak pontosan, szépen,ahogy a csillag megy az égen,ugy érdemes.”
József Attila
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.