Exekučné plány – kuchárka (začni tu)
Ako čítať exekučný plán SQL Servera od základov: odhadovaný vs. skutočný plán, smer čítania, šípky, percentá, okno Properties, varovania, mapa „vidím X → recept“ a postup pri pomalom dotaze.
Ako čítať exekučný plán SQL Servera od základov: odhadovaný vs. skutočný plán, smer čítania, šípky, percentá, okno Properties, varovania, mapa „vidím X → recept“ a postup pri pomalom dotaze.
Rozcestník diagnostických receptov pre SQL Server 2016+: symptóm → čo spustiť najskôr a čo potom, ako čítať čísla z DMV a komunitné nástroje s autormi.
Chyba 9002 „The transaction log for database is full“: ako zistiť, čo drží log (log_reuse_wait_desc), čo urobiť pri LOG_BACKUP, ACTIVE_TRANSACTION, AVAILABILITY_REPLICA a ďalších dôvodoch, kedy pridať log súbor a kedy (ne)zmenšovať.
Postup pri korupcii databázy: čo nerobiť, ako uložiť výstup, identifikovať objekt a index, kedy stačí rebuild nonclustered indexu, page restore, obnova zo zálohy a prečo je REPAIR_ALLOW_DATA_LOSS až posledná možnosť. Príčina býva v úložisku.
Katalóg varovaní v exekučnom pláne: No Join Predicate, Columns With No Statistics, implicitná konverzia, Unmatched Indexes, spill, Excessive Grant a ďalšie – kde ich nájsť a čo s nimi.
Čakania priamo v exekučnom pláne: WaitStats a QueryTimeStats (CPU vs. elapsed) na SELECT, ktoré čakania ukazujú na plán (PAGEIOLATCH, RESOURCE_SEMAPHORE, CXPACKET) a ktoré nie.
Postup pri hlásení „SQL Server je pomalý“: over rozsah, pozri aktívne requesty a blokovanie, zmeraj wait stats za posledných 30 s, CPU SQL vs. OS, memory grants, I/O latenciu a tempdb. Plus čo počas incidentu nerobiť.