O projekte
DeadlockCafe je kuchárka diagnostických T-SQL skriptov a DBA postupov pre Microsoft SQL Server. Pri každom recepte je okrem kódu aj vysvetlenie: kedy ho použiť, ako čítať výsledok a na čo si dať pozor.
Čo tu nájdeš
98 receptov – skripty, snippety a návody na blokovanie a deadlocky, výkon a indexy, exekučné plány, Query Store, zálohy a obnovu, bezpečnosť, SQL Agent a Always On.
Okrem receptov tu je vysvetlenie čakaní (čo znamená PAGEIOLATCH, WRITELOG, CXPACKET…) a Výbava – inštalačky, buildy, nástroje a komunitné skripty na jednom mieste.
Nevieš, kde začať? Pri probléme na serveri otvor návod Prvá pomoc DBA – ktorý skript spustiť pri probléme (symptóm → čo spustiť najskôr a čo potom), pri pomalom dotaze kuchárku exekučných plánov v priečinku Exekučné plány.
Pre koho
Pre DBA, vývojárov a správcov, ktorí riešia pomalý server alebo dotaz, blokovanie, plný log či zlyhaný job a chcú overený skript s vysvetlením namiesto náhodného výsledku z fóra. Väčšina receptov je pre SQL Server 2016 a novší (on-premises); požadovaná verzia je pri každom recepte. V bočnom paneli si nastavíš Moja verzia a recepty pre novšiu verziu sa označia.
Kto to robí
Kaviareň varí Matej Naď, databázový administrátor. Recepty vznikajú z každodennej praxe a priebežne sa vylepšujú – každá zmena ostáva v histórii verzií.
Matej Naď – profil na LinkedInAko sú recepty pripravené
- Pri každom skripte je uvedené, pre ktoré verzie SQL Servera je, aké oprávnenia potrebuje a či len číta.
- Vysvetlenie (Kedy použiť, Ako čítať výsledok, varovanie) hovorí, čo výsledok znamená – a čo nie.
- Tvrdenia sú overené proti dokumentácii Microsoftu a uznávaným autorom; zdroje sú uvedené pri recepte.
- Parametre ako
{{DatabaseName}}vyplníš priamo na stránke a kopíruješ už hotový skript.
Bezpečne používať
Diagnostické recepty sú read-only – nič nemenia. Aj čítanie však vie server zaťažiť (fragmentácia indexov,
veľké DMV, DBCC). Recepty, ktoré niečo menia (napr. SINGLE_USER), sú označené varovaním. Ukážky v kuchárke exekučných plánov
si vytvárajú vlastnú testovaciu databázu PlanLab – patria len na testovací server.
Každý skript najprv vyskúšaj na TEST / UAT, skontroluj server a databázu, proti ktorej máš otvorené okno, a na PROD spúšťaj s rozvahou. Skripty sú poskytnuté bez záruky.
Licencia
- Kód receptov (T-SQL, PowerShell) je pod licenciou MIT – môžeš ho používať aj upravovať, aj v práci.
- Texty (návody, vysvetlenia) sú pod licenciou CC BY 4.0 – pri ďalšom zdieľaní uveď DeadlockCafe a odkaz na recept.
Komunitné nástroje (napr. sp_WhoIsActive od Adama Machanica – GPL-3.0,
First Responder Kit od Brent Ozar Unlimited – MIT, údržbové skripty Olu Hallengrena – MIT) majú vlastných autorov a licencie.
Pri takom recepte je rámik „Komunitný skript“ s autorom, licenciou a odkazom na originál; licencia DeadlockCafe sa na ne nevzťahuje.
Našiel si chybu?
Skript na tvojej verzii nefunguje, výsledok nesedí alebo máš tip na vylepšenie? Napíš mi správu na LinkedIn.
Pomôže, keď pridáš:
- odkaz na recept,
- verziu SQL Servera (
SELECT @@VERSION;), - chybovú hlášku alebo čo si čakal a čo prišlo.
Do správy neposielaj názvy serverov, loginy ani dáta zákazníkov.
Napísať na LinkedInNovinky
Nové recepty odoberaj cez RSS kanál (napr. vo Feedly, Outlooku alebo Thunderbirde).