monitoring sql server, resource governor, tracing sql...

Post on 09-Oct-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Monitoring SQL Server,Resource Governor,Tracing SQL Server

1. Monitoring

Monitoring – cíl

Zrychlení odezvy.

Hledání úzkého hrdla.

Identifikace často prováděných dotazů. Úprava dotazu, změna indexu, …

Sledování aktivity uživatelů.

Debugging.

Monitoring - nástroje

Activity monitor. SSMS: [CTRL]+[ALT]+[A]

Performance monitor. [Win]+[R] perfmon [Enter]

Logs: SQL Server Logs.

Windows Application Log (Event Viewer).

SQL Trace + SQL Profiler.

Extended Events + Distributed Replay.

Activity Monitor

Performance Monitor

Performance Monitor objects

SQL Server Performance objects: SQLServer:Access Methods, Backup Device, Buffer

Manager, Buffer Node, CLR, Cursor Manager by Type, Cursor Manager Total, Database Mirroring, Databases, Deprecated Features, Exec Statistics, General Statistics, HADR Availability Replica, HADR Database Replica, Latches, Locks, Memory Manager, Plan Cache, ResourcePool Stats, SQL Errors, SQL Statistics, Transactions, User Settable, Wait Statistics, Workload Group Stats

Workload Groups in Perf. Mon.

SQL Server Logs

Windows Application Log

2. Resource Governor

Resource Governor

Alokace CPU a paměti.

Stanovení limitů.

Omezení zdivočelých procesů.

Dělení prostředků mezi aplikace.

Implicitně vypnutý. ALTER RESOURCE GOVERNOR

{RECONFIGURE | DISABLE}

Resource Governor - omezení

Pouze CPU a paměť. Nereguluje přístup k disku!

Pouze prostředky alokované SQL serveru OS. Neovlivní ostatní aplikace na serveru.

Pouze relační databáze. Nemožno limitovat SSAS, SSIS, SSRS.

Nefunguje mezi instancemi.

Nehodí se na krátké požadavky (OLTP). Nestihne včas zasáhnout.

Resource Governor – fungování

Pojmy Resource Pool.

Workload Group.

Classifier function.

Proces. Každá session je klasifikována.

Její úlohy jsou směrovány do skupiny.

Skupina spotřebovává resource pool.

Resource Pool

Část systémových prostředků přidělených serveru.

Procesor: MIN, MAX, CAP (nedostupno v SSMS).

Paměť: MIN, MAX.

Internal Pool: Pro vnitřní potřeby serveru. Neomezen.

Default Pool: pro neklasifikované úlohy.

Vlastní: CREATE RESOURCE POOL

Workload Group

Do jednoho Resource Pool může být zařazeno více skupin (Workload Group).

Slučování úloh do skupin podobné povahy pro společnou monitoraci a nastavení limitů.

Výchozí skupiny: Internal, Default.

Vlastní: CREATE WORKLOAD GROUP

Volitelná Importance (v rámci Resource Pool).

Limity per request: procesor, paměť, DOP (degreeof parallelism).

Classifier Function

Uživatelsky definovaná funkce. V databázi Master.

Vrací jméno skupiny.

Např. dle cílové databáze, uživatele, času, …

Registrace funkce pomocí: ALTER RESOURCE GOVERNOR

Volána při vytvoření session. Autentizace -> LOGON trigger -> klasifikace -> …

Při neúspěchu klasifikace: skupina default.

3. Tracing

Tracing – použití

Debugging: Logování běhu serveru. Prohlížení spouštěných funkcí vč. parametrů.

Následné krokování v SSMS.

Identifikace sekvence dotazů způsobující problém. Reprodukce problému (replay).

Identifikace pomalých dotazů.

Zátěžové testování: Záznam zátěže systému. Reprodukce na testovaném prostředí.

Možno i z více počítačů – Distributed Replay.

Tracing - nástroje

SQL Trace (deprecated) GUI: SQL Server Profiler.

SQL: Stored procedures (server-side trace).

Captrure i Replay.

Extended Events Doporučená náhrada.

GUI: SQL Server Management studio.

SQL: CREATE EVENT SESSION

Trace Replay pomocí Distributed Replay.

SQL Trace

Zachycuje události předdefinovaných tříd.

Obvykle filtrace pouze potřebných tříd.

Ukládání pouze vybraných atributů.

Definici trace možno uložit.

Záznam výsledků do souboru či tabulky. Tabulka: větší zátěž ale snadná filtrace.

SQL Profiler

Rozsáhlé GUI k SQL Trace.

Deprecated – budoucnost pouze pro SSAS.

Definice.

Spuštění. Client-side trace.

Analýza.

Replay. Krok za krokem, breakpoints, run to cursor, …

Analýza deadlocks - deadlock wait-for graph. Deadlock graph event.

Sever-side trace

Garance, že všechna data opravdu budou uložena.

Výrazně nižší dodatečná zátěž (CPU, síť). http://sqlblog.com/blogs/linchi_shea/archive/2007/08/

01/trace-profiler-test.aspx

Nutno definovat a spustit pomocí stored proc.

Strored procedures

sp_trace_create Definice nové trace.

sp_trace_seteventtrace_id, event_id, column_id, {0, 1}

Přidání či odebrání sledované události, resp. atributu.

sp_trace_setfilter Nastavení filtrace.

sp_trace_setstatus Spuštění, zastavení či smazání.

http://msdn.microsoft.com/en-us/library/ms187346.aspx

Lze generovat pomocí SQL Profiler: File -> Export -> Script Trace Definition.

Stored procedures – čtení

sys.fn_trace_getinfo Informace o traces, odpovídá příkazu create.

sys.fn_trace_geteventinfo Které events jsou sledovány.

sys.fn_trace_getfilterinfo Jak jsou filtrovány.

sys.fn_trace_gettable Načte záznam trace ze souboru do fromy tabulky.

http://msdn.microsoft.com/en-us/library/ff848738.aspx

Extended Events (XE)

Nástupce SQL Trace. Dostupné od verze 2008.

Obdobná funkčnost.

Ještě menší zátěž serveru [1].

Kompatibilní s ETW (Event Tracing for Windows)

Zatím horší podpora nástrojů. Oficiální GUI funkční pouze pro verzi 2012.

Existují events, které jsou dostupné pouze z XE. Ve verzi 2008 existují naopak events dostupné pouze z SQL

Trace. Ve verzi 2012 je již v XE dostupné vše.

Extended Events – použití

Vytvoření Extended Event Session pomocí: SQL:

CREATE EVENT SESSION

ADD EVENT

ADD TARGET

ALTER EVENT

SQL Server Management Studio: New Session.

New Session Wizard.

Pouze verze 2012.

Existují skripty pro usnadnění migrace [1].

[1] http://www.sqlskills.com/blogs/jonathan/post/Converting-SQL-Trace-to-Extended-Events-in-SQL-Server-2012.aspx

top related