Systémové databáze v SQL Serveru Miloslav Peterka MCSE | MCT Miloslav.Peterka@BIExperts.cz
Agenda Přehled systémových databází Omezení a specifika Konfigurace Přesun Zálohování a obnova
Přehled systémových databází resource master model msdb tempdb (SSISDB) (distribution)
Omezení systémových databází Liší se dle databáze, společně: Nelze je smazat ani přejmenovat Nelze změnit collation nutný rebuild z instalačního média Nelze odstranit účet guest Nejdou zrcadlit Není možné zapnutí CDC Doporučení: V systémových databázích nevytvářet uživatelské objekty
Specifika databáze resource Pouze pro čtení Obsahuje systémové objekty viditelné ve schématu sys každé databáze Zjednodušuje upgrade Nezobrazuje se v klientských nástrojích Umístěna ve složce Binn Nedá se zálohovat nástroji SQL Serveru Preferovaná obnova z instalačního média
Demo Resource databáze
Specifika databáze master Uchovává informace o celé instanci Loginy, linkované servery, endpointy, … Konfiguraci SQL serveru Informace o ostatních databázích Nutná ke startu SQL Serveru
Specifika databáze model Template pro všechny ostatní databáze Nutná i pro vytvoření tempdb Změny v model databázi jsou obsaženy ve všech nově vytvořených databázích vhodné pro výchozí zabezpečení a objekty Recovery model závislý na edici SQL Serveru
Demo Model databáze
Specifika databáze msdb Úložiště pro objekty SQL Server Agenta joby, alerty, operátoři Využívaná dalšími komponentami SSMS Historie zálohování Service Broker, Database Mail, SSIS ukládá historii jobů, záloh ukládá informace o poškozených datových stánkách
Specifika databáze tempdb Ukládá dočasná data Temporary uživatelské objekty Interní dočasné objekty (mezivýsledky operací) Verze řádků (snapshot izolační úroveň transakcí, triggery) Sdílený zdroj pro celou instanci Vytvářena se spuštěním instance Nejde zálohovat
Specifika databáze tempdb Operace v tempdb optimalizovány kešování tabulek a tabulkových proměnných minimální logování Alokace v uniformních blocích Vyžaduje zvýšenou pozornost separace IO rozdělení do více datových souborů Od verze 2016 možné v rámci instalace prealokace odpovídajícího místa
Demo Rozdělení tempdb databáze
Konfigurace systémových databází Aktuální nastavení v pohledu sys.databases Změna konfigurace stejnými nástroji jako u uživatelských databází SSMS T-SQL Až na výjimky není třeba konfiguraci měnit např. recovery model msdb
Přesun systémových databází 1. Změnit cestu k souborům příkazem ALTER DATABASE MODIFY FILE 2. Zastavit instanci SQL Serveru 3. Fyzicky přesunout soubory 4. Znovu spustit instanci 5. Ověřit změnu v sys.master_files - Nutná oprávnění SQL Serveru k novému umístění - Rebuild systémových databází resetuje umístění na default
Přesun databáze master V Configuration manageru změnit startup parametry –d a –l Zastavit instanci Fyzicky přesunout soubory master databáze Spustit instanci Ověřit provedené změny
Zálohování systémových databází Vhodná záloha po změně dat master – login, propojený server, konfigurace instance, přidání a konfigurace databáze, … model – změna nastavení, vytvoření objektu, … msdb – nový job, alert, SSIS balíček, plán údržby, provedení zálohy, … Resource – pouze souborová záloha
Zálohování systémových databází tempdb zálohovat nelze Ostatní systémové databáze je vhodné zahrnout do pravidelné údržby model databázi postačí zálohovat pouze při změně obsahu a konfigurace V případě potřeby provézt extra zálohu
Obnova systémových databází Obnova msdb a model databáze shodná s uživatelskými databázemi Obnova master databáze vyžaduje spuštění instance v single user režimu (-m) rebuild systémových databází, pokud instanci nelze spustit
Demo Obnova master databáze
Agenda Přehled systémových databází Omezení a specifika Konfigurace Přesun Zálohování a obnova