Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Systémové základní tabulky jsou podkladové tabulky, které ve skutečnosti ukládají metadata pro konkrétní databázi. Databáze master je v tomto ohledu zvláštní, protože obsahuje některé další tabulky, které nejsou nalezeny v žádné z ostatních databází. Tyto tabulky obsahují trvalá metadata, která mají obor pro celý server.
Důležité
Systémové základní tabulky se používají jenom v databázovém stroji SQL Serveru a nejsou určené pro obecné použití zákazníka. Základní systémové tabulky se můžou změnit a není zaručená kompatibilita.
Metadata základní tabulky systému
Příjemce, který má CONTROLALTERVIEW DEFINITION nebo oprávnění k databázi, může zobrazit metadata systémové základní tabulky v sys.objects zobrazení katalogu. Příjemce může také přeložit názvy a ID objektů systémových základních tabulek pomocí předdefinovaných funkcí, jako jsou OBJECT_NAME a OBJECT_ID.
Pokud chcete vytvořit vazbu k základní systémové tabulce, musí se uživatel připojit k instanci SQL Serveru pomocí vyhrazeného připojení správce (DAC). Při pokusu o SELECT spuštění dotazu ze základní systémové tabulky bez připojení pomocí jazyka DAC dojde k chybě.
Důležité
Přístup k systémovým základním tabulkám pomocí DAC je určený jenom pro pracovníky Microsoftu a nejedná se o podporovaný scénář zákazníka.
Systémové základní tabulky
Následující tabulka uvádí a popisuje každou základní tabulku systému v SQL Serveru.
| Základní tabulka | Popis |
|---|---|
sys.sysschobjs |
Existuje v každé databázi. Každý řádek představuje objekt v databázi. |
sys.sysbinobjs |
Existuje v každé databázi. Obsahuje řádek pro každou entitu Service Broker v databázi. Entity Service Broker zahrnují následující objekty: Typ zprávy Servisní smlouva Služba Názvy a typy používají binární kolaci, která je pevná. |
sys.sysclsobjs |
Existuje v každé databázi. Obsahuje řádek pro každou klasifikovanou entitu, která sdílí stejné společné vlastnosti, které zahrnují následující objekty: Shromáždění Zálohovací zařízení Fulltextový katalog Funkce Partition Schéma oddílů Skupina souborů Obfuskace klíče Schéma |
sys.sysnsobjs |
Existuje v každé databázi. Obsahuje řádek pro každou entitu s oborem názvů. Tato tabulka se používá k ukládání entit kolekce XML. |
sys.syscolpars |
Existuje v každé databázi. Obsahuje řádek pro každý sloupec v tabulce, zobrazení nebo funkci s hodnotou tabulky. Obsahuje také řádky pro každý parametr procedury nebo funkce. |
sys.systypedsubobjs |
Existuje v každé databázi. Obsahuje řádek pro každou zatypovanou podentitu. Do této kategorie spadají pouze parametry funkce oddílu. |
sys.sysidxstats |
Existuje v každé databázi. Obsahuje řádek pro každý index nebo statistiku pro tabulky a indexovaná zobrazení. Poznámka: Každý index (s výjimkou haldy) je spojený se statistikou, která má stejný název jako index. |
sys.sysiscols |
Existuje v každé databázi. Obsahuje řádek pro každý trvalý index a sloupec statistiky. |
sys.sysscalartypes |
Existuje v každé databázi. Obsahuje řádek pro každý typ uživatelem definovaný nebo systémový typ. |
sys.sysdbreg |
Existuje pouze v master databázi. Obsahuje řádek pro každou registrovanou databázi. |
sys.sysxsrvs |
Existuje pouze v master databázi. Obsahuje řádek pro každý místní, propojený nebo vzdálený server. |
sys.sysrmtlgns |
Tato systémová základní tabulka existuje pouze v master databázi. Obsahuje řádek pro každé mapování vzdáleného přihlášení. Používá se k mapování příchozích přihlášení, která deklarace identity přicházejí z odpovídajícího serveru na skutečné místní přihlášení. |
sys.syslnklgns |
Existuje pouze v master databázi. Obsahuje řádek pro každé propojené mapování přihlášení. Mapování propojených přihlášení používají vzdálená volání procedur a distribuované dotazy, které pocházejí z místního serveru na odpovídající propojený server. |
sys.sysxlgns |
Existuje pouze v master databázi. Obsahuje řádek pro každý objekt zabezpečení serveru. |
sys.sysdbfiles |
Existuje v každé databázi. Pokud je sloupec dbid nula, řádek představuje soubor, který patří do této databáze.
master V databázi může být sloupec dbid nenulový. V takovém případě představuje řádek hlavní soubor. |
sys.sysusermsg |
Existuje pouze v master databázi. Každý řádek představuje uživatelem definovanou chybovou zprávu. |
sys.sysprivs |
Existuje v každé databázi. Obsahuje řádek pro každé oprávnění na úrovni databáze nebo serveru. Poznámka: Oprávnění na úrovni serveru jsou uložena v master databázi. |
sys.sysowners |
Existuje v každé databázi. Každý řádek představuje objekt zabezpečení databáze. |
sys.sysobjkeycrypts |
Existuje v každé databázi. Obsahuje řádek pro každý symetrický klíč, šifrování nebo kryptografickou vlastnost přidruženou k objektu. |
sys.syscerts |
Existuje v každé databázi. Obsahuje řádek pro každý certifikát v databázi. |
sys.sysasymkeys |
Existuje v každé databázi. Každý řádek představuje asymetrický klíč. |
sys.ftinds |
Existuje v každé databázi. Obsahuje řádek pro každý fulltextový index v databázi. |
sys.sysxprops |
Existuje v každé databázi. Obsahuje řádek pro každou rozšířenou vlastnost. |
sys.sysallocunits |
Existuje v každé databázi. Obsahuje řádek pro každou jednotku přidělení úložiště. |
sys.sysrowsets |
Existuje v každé databázi. Obsahuje řádek pro každou sadu řádků oddílu pro index nebo haldu. |
sys.sysrowsetrefs |
Existuje v každé databázi. Obsahuje řádek pro každý index odkazu na sadu řádků. |
sys.syslogshippers |
Existuje pouze v master databázi. Obsahuje řádek pro každý určující zrcadlení databáze. |
sys.sysremsvcbinds |
Existuje v každé databázi. Obsahuje řádek pro každou vazbu vzdálené služby. |
sys.sysconvgroup |
Existuje v každé databázi. Obsahuje řádek pro každou instanci služby ve službě Service Broker. |
sys.sysxmitqueue |
Existuje v každé databázi. Obsahuje řádek pro každou frontu přenosu služby Service Broker. |
sys.sysdesend |
Existuje v každé databázi. Obsahuje řádek pro každý odesílaný koncový bod konverzace service brokeru. |
sys.sysdercv |
Existuje v každé databázi. Obsahuje řádek pro každý přijímající koncový bod konverzace service brokeru. |
sys.sysendpts |
Existuje pouze v master databázi. Obsahuje řádek pro každý koncový bod vytvořený na serveru. |
sys.syswebmethods |
Existuje pouze v master databázi. Obsahuje řádek pro každou metodu SOAP definovanou v koncovém bodu HTTP s podporou PROTOKOLU SOAP, který je vytvořen na serveru. |
sys.sysqnames |
Existuje v každé databázi. Obsahuje řádek pro každý obor názvů nebo kvalifikovaný název tokenu ID se 4 bajty. |
sys.sysxmlcomponent |
Existuje v každé databázi. Každý řádek představuje komponentu schématu XML. |
sys.sysxmlfacet |
Existuje v každé databázi. Obsahuje řádek pro každou omezující vlastnost XML (omezení) definice typu XML. |
sys.sysxmlplacement |
Existuje v každé databázi. Obsahuje řádek pro každé umístění XML pro komponenty XML. |
sys.syssingleobjrefs |
Existuje v každé databázi. Obsahuje řádek pro každý obecný odkaz N-to-1. |
sys.sysmultiobjrefs |
Existuje v každé databázi. Obsahuje řádek pro každý obecný odkaz N-to-N. |
sys.sysobjvalues |
Existuje v každé databázi. Obsahuje řádek pro každou vlastnost obecné hodnoty entity. |
sys.sysguidrefs |
Existuje v každé databázi. Obsahuje řádek pro každý odkaz NA KLASIFIKOVANÝ IDENTIFIKÁTOR GUID. |
Aktualizace systémových základních tabulek
Data v systémových tabulkách můžete zobrazit prostřednictvím zobrazení katalogu systému. Pokud chcete aktualizovat metadata v základní systémové tabulce, použijte příslušné rozhraní Transact-SQL (například příkazy DDL). Systémové tabulky nemůžete aktualizovat ručně. SQL Server hlásí následující zprávy při provádění přímých aktualizací systémových tabulek.
Systémová tabulka se aktualizuje ručně.
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Spuštění databáze se systémovou tabulkou, která byla ručně aktualizována
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Po ruční aktualizaci systémové tabulky spusťte příkaz DBCC_CHECKDB.
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Pokud provádíte ruční aktualizace systémové tabulky a narazíte na problém, můžete být požádáni o obnovení ze zálohy nebo zkopírování dat z ovlivněné databáze do nové databáze. Další informace najdete v tématu Akce uživatelů pro MSSQLSERVER_8992.