Sdílet prostřednictvím


Systémové databáze

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

SQL Server obsahuje následující systémové databáze.

Systémová databáze Description
hlavní databáze Zaznamenává všechny informace na úrovni systému pro instanci SQL Serveru.
databáze msdb Agent SQL Serveru používá k plánování výstrah a úloh.
model Database Slouží jako šablona pro všechny databáze vytvořené v instanci SQL Serveru. Změny provedené v databázi modelu , jako je velikost databáze, kolace, model obnovení a další možnosti databáze, se použijí u všech databází vytvořených později.
Databáze zdrojů Je databáze určená jen pro čtení, která obsahuje systémové objekty, které jsou součástí SQL Serveru. Systémové objekty jsou fyzicky trvalé v databázi prostředků , ale logicky se zobrazují ve schématu sys každé databáze.
databáze tempdb Je pracovní prostor pro uchovávání dočasných objektů nebo zprostředkujících sad výsledků.

Důležité

Pro izolované databáze a elastické fondy Azure SQL Database platí pouze databáze master a databáze tempdb. Další informace najdete v tématu Co je server Azure SQL Database. Diskuzi o databázi tempdb v kontextu služby Azure SQL Database najdete v tématu databáze tempdb ve službě Azure SQL Database. U služby Azure SQL Managed Instance platí všechny systémové databáze. Další informace o spravovaných instancích ve službě Azure SQL Database najdete v tématu Co je spravovaná instance.

Úprava systémových dat

SQL Server nepodporuje přímé aktualizace informací v systémových objektech, jako jsou systémové tabulky, systémové uložené procedury a zobrazení katalogu. Místo toho SQL Server poskytuje úplnou sadu nástrojů pro správu, které uživatelům umožňují plně spravovat systém a spravovat všechny uživatele a objekty v databázi. Patří mezi ně následující:

  • Nástroje pro správu, jako je SQL Server Management Studio.

  • rozhraní API SQL-SMO. Programátoři tak mohou do svých aplikací zahrnout kompletní funkce pro správu SQL Serveru.

  • Transact-SQL skripty a uložené procedury. Mohou používat systémové uložené procedury a Transact-SQL příkazy DDL.

Tyto nástroje chrání aplikace před změnami v systémových objektech. NAPŘÍKLAD SQL Server někdy musí změnit systémové tabulky v nových verzích SQL Serveru tak, aby podporovaly nové funkce, které se přidávají v této verzi. Aplikace vydávající příkazy SELECT, které přímo odkazují na systémové tabulky, jsou často závislé na starém formátu systémových tabulek. Weby nemusí být schopné upgradovat na novou verzi SQL Serveru, dokud nepřepíší aplikace, které vybírají ze systémových tabulek. SQL Server považuje systémové uložené procedury, DDL a SQL-SMO publikovaná rozhraní a pracuje na zachování zpětné kompatibility těchto rozhraní.

SQL Server nepodporuje triggery definované v systémových tabulkách, protože můžou změnit provoz systému.

Poznámka:

Systémové databáze se nemohou nacházet v adresářích sdílené složky UNC.

Zobrazení systémových dat databáze

Neměli byste kódovat Transact-SQL příkazy, které přímo dotazují systémové tabulky, pokud to není jediný způsob, jak získat informace, které aplikace vyžaduje. Místo toho by aplikace měly získat informace o katalogu a systému pomocí následujících:

  • Zobrazení katalogů systému

  • SQL-SMO

  • Rozhraní WMI (Windows Management Instrumentation)

  • Funkce katalogu, metody, atributy nebo vlastnosti rozhraní API pro data použitá v aplikaci, například ADO, OLE DB nebo ODBC.

  • Transact-SQL systémových uložených procedur a předdefinovaných funkcí.