25
SQL Server felügyelet - üzemeltetőknek Bitemo Erik Gergely Infrastructure Operations Manager Walt Disney Magyarország Kft. SQL Server MVP – http://blog.rollback.hu

* DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Embed Size (px)

Citation preview

Page 1: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

SQL Server felügyelet - üzemeltetőknekBitemo Erik GergelyInfrastructure Operations ManagerWalt Disney Magyarország Kft.SQL Server MVP – http://blog.rollback.hu

Page 2: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Órarend

BiztonságKezelhetőség, felügyeletTeljesítményhangolásHab a tortán sörön

Page 3: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Biztonság

Page 4: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 5: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 6: * 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.)

Page 7: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

SQL Server 2008 R2 biztonság

demo

Page 8: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Kezelhetőség, felügyelet

Page 9: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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ó

Page 10: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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ő

Page 11: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 12: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

SQL Server Utility

Page 13: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 14: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 15: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

SQL Server 2008 R2 kezelhetőség

demo

Page 16: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Teljesítmény

Page 17: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

Á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

Page 18: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 19: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 20: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 21: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 22: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

SQL Server 2008 R2 teljesítményhangolás

demo

Page 23: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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.

Page 24: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

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

Page 25: * DDL = Data Definition Language = sémamódosító utasítások (CREATE, ALTER, DROP) ** DAC itt Dedicated Admin Connection

© 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.