Posledné zálohy každej databázy
Kedy prebehla posledná FULL / DIFF / LOG záloha – a ktoré DB sú bez zálohy.
Kedy prebehla posledná FULL / DIFF / LOG záloha – a ktoré DB sú bez zálohy.
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.
Deadlocky zo system_health Extended Events a ako v grafe nájsť obeť a príčinu.
Živý prehľad blokujúcich a blokovaných session z DMV – s označením head blockera a presným statementom.
Čím sa líši ALTER INDEX REBUILD od REORGANIZE (zámky, log, štatistiky, miesto, prerušenie), kedy ktorý použiť a prečo, čo urobí údržba indexov s veľkou databázou (transaction log, Always On, zálohy, tempdb, blokovanie), online a resumable rebuild, partície, columnstore, rozumné nastavenie IndexOptimize a typické pasce.
Skript vytvorí malú databázu PlanLab (zákazníci, produkty, 300 000 objednávok, 900 000 riadkov) so zámerne nerovnomernými dátami. Na nej bežia ukážky všetkých receptov kuchárky plánov.
Columnstore Index Scan a batch mode v pláne: Actual Execution Mode, Segments Read / Skipped, predicate a aggregate pushdown, delta store a batch mode on rowstore (2019+).
Prečo optimalizátor odhadne 12 riadkov a príde 100 000: štatistiky a histogram, ascending key, lokálne premenné, korelované stĺpce, šírenie chyby v pláne a ako odhad opraviť.
Ako SQL Server počíta GROUP BY a DISTINCT: Stream Aggregate na zoradenom vstupe vs. Hash Aggregate s memory grantom, Partial Aggregate v paralelnom pláne a Sort pred agregáciou.
Merge Join v pláne: prečo potrebuje zoradené vstupy, Sort pred spojením, one-to-many vs. many-to-many (Worktable v tempdb) a kedy je to najlepšie spojenie.
Počet, veľkosť a prírastky dátových a log súborov tempdb – rýchla kontrola, či sú súbory rovnako veľké a rastú v MB.
Stav databáz v Availability Groups: synchronizácia, zdravie, send a redo queue a čas posledného commitu pre každú repliku.
Bezpečná šablóna na DBCC CHECKDB jednej databázy: najprv len vypíše príkaz, skutočne ho spustí až po prepnutí @Execute = 1.
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ť.
Kde v aktuálnej databáze sa spomína tabuľka, stĺpec alebo funkcia – textové hľadanie (LIKE) v definíciách procedúr, view, funkcií a triggerov.
Prebiehajúce zálohy, obnovy a DBCC príkazy s percentom hotovosti a odhadom, kedy skončia.
RAM operačného systému, pamäť procesu SQL Servera, signály nedostatku pamäte a najväčšie memory clerks.
Ako čítať logical reads, physical reads, Scan count, Worktable a CPU vs. elapsed time zo SET STATISTICS IO, TIME a ako nimi overiť, či zmena plánu pomohla.
Ako nainštalovať CU na servery v Availability Group s jedným krátkym failoverom: príprava, vypnutie automatického failoveru, poradie replík (async → sync sekundárne → primárna), kontrola synchronizácie, readable secondaries, distribuované AG a návrat späť.
Veľkosť a aktívna časť logu, počet VLF, dôvod, prečo sa log nedá orezať, a čas posledného log backupu pre každú databázu.
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.
Nested Loops v pláne: outer vs. inner vstup, Number of Executions, Outer References, odhad na jedno vykonanie, prefetch, row goal a kedy je vnorený cyklus problém.
Z msdb poskladá poradie RESTORE príkazov: posledný FULL, DIFF a reťaz LOG záloh až k zvolenému času (STOPAT). Kontroluje diery v reťazi logov. Príkazy iba vypíše, nespúšťa.
Plány zmien dát: Clustered Index Insert / Update / Delete, narrow vs. wide plán, Split / Sort / Collapse, Assert pre CHECK a cudzie kľúče, Halloween protection a triggery.