Při práci s SQL Serverem často narazíme na situace, kdy je nezbytné získat detailní informace o běžících procesech a sesionách. V tomto ohledu se velmi hodí použití dynamických pohledů a funkcí, jako je sys.dm_exec_sessions a sys.dm_exec_requests. Tyto objekty poskytují přístup k informacím o aktuálních relacích, jejich stavu a aktivních požadavcích.
Pokud použijeme příkaz SQL, který spojuje tabulky sys.dm_exec_sessions a sys.dm_exec_requests, můžeme získat hodnotné údaje o aktuálních relacích a běžících požadavcích. Tato dotazovaná data často obsahují NULL hodnoty v sloupci text, což signalizuje, že daný proces je systémový. Systémové procesy, jako je Lazy Writer nebo Ghost Cleanup Task, nemají SQL kód, který by mohl být zobrazen, což vede k těmto NULL hodnotám. Tyto procesy běží na pozadí a jejich úkolem je zajistit správu paměti a údržbu databázových struktur.
Pro filtrování pouze relevantních uživatelských relací je užitečné používat funkci CROSS APPLY. Při použití této funkce dojde k tomu, že se vrátí pouze řádky, které obsahují platný SQL kód. Tento způsob dotazování pomáhá odstranit systémové procesy, které nejsou pro uživatele relevantní, a poskytuje čistší výstup pro analýzu běžících dotazů a jejich výkonu.
Další důležitou součástí práce s SQL Serverem je XML, které se často používá pro uchovávání a přenos kritických dat, jako jsou rozšířené události, plány dotazů nebo sbírání dat v rámci Management Data Warehouse (MDW). XML je velmi flexibilní formát, který umožňuje uchovávat složité struktury dat. Každý dokument XML začíná kořenovým elementem, který obsahuje další uzly (nebo podřízené elementy). Tyto elementy mohou obsahovat data nebo atributy, které popisují vlastnosti těchto dat.
V rámci SQL Serveru může být XML velmi užitečné pro různé účely, včetně analýzy dotazů a ukládání plánů vykonávání dotazů. Formát XML se běžně používá pro serializaci dat, což znamená, že se data převádějí do formátu, který lze snadno uložit nebo přenést. K tomu, aby bylo možné správně pracovat s XML, musí být správce databáze schopen nejen generovat XML dokumenty, ale také efektivně s nimi pracovat, například při vytváření smyček nebo dotazování na konkrétní část dat.
XML dokumenty se liší od formátu HTML tím, že používají vlastní definici tagů. Zatímco HTML má předdefinované tagy (jako <div>, <p>, apod.), XML tagy jsou definovány autorem dokumentu. XML má stromovou strukturu, kde každý element může mít podřízené elementy, ale také atributy, které podrobně popisují vlastnosti daného elementu. V praxi to znamená, že například objednávky mohou být uloženy jako samostatné elementy v XML dokumentu, přičemž detaily objednávky, jako datum objednávky, identifikátor zákazníka, nebo produkty, mohou být uloženy jako podřízené elementy nebo jako atributy.
Velmi důležitým aspektem práce s XML je použití schématu XML Schema Definition (XSD), které určuje strukturu dokumentu, včetně datových typů, pořadí elementů a dalších pravidel. XSD schéma je nezbytné pro validaci a kontrolu integrity dat v XML dokumentech. Bez správného XSD schématu může být velmi obtížné zajistit, že dokumenty XML jsou správně strukturovány a že všechny datové typy jsou v souladu s očekáváními.
Při analýze výkonnostních problémů v SQL Serveru může XML pomoci při detailní analýze plánů dotazů. Například výkonnostní problémy mohou být identifikovány a diagnostikovány pomocí XML záznamů o provádění dotazů. XML výkonnostní plány poskytují podrobné informace o tom, jak SQL Server vykonává konkrétní dotazy, včetně informací o využívání indexů, připojování tabulek, a dalších optimalizačních technikách.
Je třeba mít na paměti, že práce s XML v SQL Serveru vyžaduje hlubší porozumění tomuto formátu, zejména pokud jde o efektivní dotazování a manipulaci s daty. Správci databází, kteří se chtějí stát odborníky na práci s XML, by měli mít dostatečné znalosti o tom, jak využívat funkce pro generování, dotazování a validaci XML dat.
Pochopení práce s XML v SQL Serveru je základem pro pokročilé techniky správy a optimalizace databázového výkonu.
Jak automatizovat údržbu a scénáře opravy v SQL Serveru?
Automatizace údržby v prostředí SQL Serveru poskytuje velkou flexibilitu, jak a kdy budou údržbové úkoly prováděny napříč celým serverovým prostředím. Centrálně řízený systém údržby se nachází na jednom serveru správy a umožňuje provádění údržbových úkolů na všech serverech organizace, přičemž vše je řízeno z jediného místa. Tento systém spočívá v tabulkách a pohledech, které uchovávají informace o tom, které údržbové rutiny by měly být prováděny a kdy, a to na jakých serverech. Provádění těchto úkolů je řízeno jednoduchou logikou v PowerShell skriptech, které určují, kde a kdy se konkrétní úloha má vykonat. Tyto úkoly jsou pak volány SQL Agent Jobem, který běží každou minutu. Tento přístup nabízí neomezené možnosti a může sloužit jako základ pro vývoj vlastního systému plánování údržby, který bude vyhovovat konkrétním potřebám organizace.
Automatizace ad-hoc údržby
I když centralizovaná údržba, kterou jsme probrali v předchozích kapitolách, je ideální pro pravidelně naplánované úkoly, existují situace, kdy je nutné provádět údržbu na základě ad-hoc požadavků. Ad-hoc úkoly nemohou být plánovány na pravidelný základ, ale to neznamená, že je nelze automatizovat. Automatizace ad-hoc údržby nám umožňuje reagovat rychleji na požadavky a zároveň nás zbavit rutinní práce, což nám dává prostor věnovat se důležitějším úkolům.
Příkladem ad-hoc údržby může být osvěžení vývojového prostředí. Pokud máte v organizaci vývojové týmy, často mohou požadovat, aby jejich vývojové prostředí bylo pravidelně obnovováno nejnovějšími daty z produkčního prostředí. Tento proces obvykle zahrnuje zálohování databáze a její obnovení na vývojovém serveru nebo odpojení databáze, zkopírování datových souborů a následné připojení databáze na oba servery. V prostředích, kde je kladen důraz na bezpečnost a ochranu dat, může být tento proces složitější. Například v jednom případě, kdy jsem pracoval s velkou firmou z FTSE 100, bylo nutné striktně dodržovat pravidla regulátorů, což znamenalo, že vývojáři nemohli mít přístup k živým datům. Proces obnovení prostředí v tomto případě zahrnoval následující kroky:
-
Zálohování produkční databáze.
-
Přepnutí vývojového serveru do režimu SINGLE USER, aby vývojáři nemohli přistupovat k databázi.
-
Obnovení databáze na vývojovém serveru.
-
Odstranění databázových uživatelů bez připojení (login).
-
Obfuskace dat.
-
Opětovné přepnutí do režimu MULTI USER.
Tento proces může být snadno přizpůsoben a automatizován pomocí nástrojů jako SSIS nebo PowerShell. Doporučuji pro tento typ úlohy použít právě SSIS, protože nabízí ideální nástroje pro orchestraci těchto workflow.
Automatizace scénářů opravy
Další oblastí, kde může automatizace výrazně přispět, jsou scénáře opravy, například při problémech s logováním dat. Automatizace těchto úkolů může zlepšit služby poskytované firmě, protože řešení problémů probíhá bez čekání na zásah administrátora. V tomto případě je jedním z běžných problémů nedostatek místa v logovacích souborech, což může mít vážné důsledky pro stabilitu serveru. Automatizovaná oprava tohoto problému může například zahrnovat odstranění starších logů nebo automatické přepnutí na jiný logovací soubor, pokud se původní dostane naplněný.
V oblasti automatizace opravy lze využít kombinaci SQL Server Agent Alerts a SSIS. SQL Agent Alerts mohou spustit určité akce na základě specifických událostí, jako je například dosažení určitého procenta plnosti logovacího souboru. To vše lze nakonfigurovat v rámci SQL Serveru bez nutnosti zásahu administrátora.
Pokud je nutné provádět složitější operace, jakým je obnovení prostředí nebo oprava problémů s logováním, je kladeno důraz na využití správné nástroje podle konkrétní situace. Použití GUI pro nastavení SQL Agent Jobu může být v některých případech rychlejší než psaní kódu, zejména pokud jde o rychlé nasazení a automatizaci běžných úkolů. Tento přístup také usnadňuje správu a údržbu kódu tím, že umožňuje ukládat vytvořené úkoly do verzovacího systému a zajišťovat tak jejich sledovatelnost.
Jaké jsou hlavní typy rychle progredující glomerulonefritidy a membranózní glomerulární onemocnění?
Jak vznikají démonы в нашей душе? Мистические проявления чувств и страха.
Jak Costa Rica vybudovala základy pro své klimatické politiky: Institucionální transformace v 80. letech
Jak fotonika mění technologie a společnost: Pochopení základu a aplikací

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский