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

27
Monitoring SQL Server, Resource Governor, Tracing SQL Server

Upload: others

Post on 09-Oct-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

Monitoring SQL Server,Resource Governor,Tracing SQL Server

Page 2: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

1. Monitoring

Page 3: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 4: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 5: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

Activity Monitor

Page 6: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

Performance Monitor

Page 7: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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

Page 8: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

Workload Groups in Perf. Mon.

Page 9: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

SQL Server Logs

Page 10: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

Windows Application Log

Page 11: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

2. Resource Governor

Page 12: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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}

Page 13: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 14: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 15: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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

Page 16: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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

Page 17: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 18: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

3. Tracing

Page 19: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 20: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 21: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 22: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 23: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 24: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 25: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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

Page 26: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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.

Page 27: Monitoring SQL Server, Resource Governor, Tracing SQL Serversiret.ms.mff.cuni.cz/sites/default/files/doc/david... · SQL Trace (deprecated) GUI: SQL Server Profiler. SQL: Stored procedures

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