Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
Tabele podstawowe systemu to tabele bazowe, które rzeczywiście przechowują metadane dla określonej bazy danych. Baza master danych jest specjalna w tym zakresie, ponieważ zawiera dodatkowe tabele, które nie znajdują się w żadnej z innych baz danych. Te tabele zawierają utrwalone metadane, które mają zakres całego serwera.
Ważne
Tabele podstawowe systemu są używane tylko w a aparatze bazy danych programu SQL Server i nie są przeznaczone do użytku ogólnego klienta. Tabele podstawowe systemu podlegają zmianie, a zgodność nie jest gwarantowana.
Metadane tabeli podstawowej systemu
Grantee, który ma CONTROLuprawnienia , ALTERlub VIEW DEFINITION w bazie danych, może wyświetlać metadane tabeli podstawowej systemu w sys.objects widoku wykazu. Grantee może również rozpoznawać nazwy i identyfikatory obiektów tabel podstawowych systemu przy użyciu wbudowanych funkcji, takich jak OBJECT_NAME i OBJECT_ID.
Aby powiązać tabelę podstawową systemu, użytkownik musi nawiązać połączenie z wystąpieniem programu SQL Server przy użyciu dedykowanego połączenia administratora (DAC). Próba wykonania SELECT zapytania z tabeli podstawowej systemu bez nawiązywania połączenia przy użyciu funkcji DAC zgłasza błąd.
Ważne
Dostęp do tabel bazowych systemu przy użyciu usługi DAC jest przeznaczony tylko dla personelu firmy Microsoft i nie jest obsługiwanym scenariuszem klienta.
Tabele podstawowe systemu
W poniższej tabeli wymieniono i opisano każdą tabelę podstawową systemu w programie SQL Server.
| Tabela podstawowa | Opis |
|---|---|
sys.sysschobjs |
Istnieje w każdej bazie danych. Każdy wiersz reprezentuje obiekt w bazie danych. |
sys.sysbinobjs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej jednostki usługi Service Broker w bazie danych. Jednostki usługi Service Broker obejmują następujące obiekty: Typ komunikatu Kontrakt usługi Usługa Nazwy i typy używają sortowania binarnego, które jest stałe. |
sys.sysclsobjs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej niejawnej jednostki, która ma te same wspólne właściwości, które obejmują następujące obiekty: Zgromadzenie Urządzenie kopii zapasowej Wykaz pełnotekstowy Funkcja partition Schemat partycji Grupa plików Klucz zaciemniania Schemat |
sys.sysnsobjs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej jednostki o zakresie przestrzeni nazw. Ta tabela służy do przechowywania jednostek kolekcji XML. |
sys.syscolpars |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej kolumny w funkcji tabeli, widoku lub tabeli. Zawiera również wiersze dla każdego parametru procedury lub funkcji. |
sys.systypedsubobjs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego typu podentity. Tylko parametry funkcji partycji należą do tej kategorii. |
sys.sysidxstats |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego indeksu lub statystyki dla tabel i widoków indeksowanych Nuta: Każdy indeks (z wyjątkiem sterty) jest skojarzony ze statystyką, która ma taką samą nazwę jak indeks. |
sys.sysiscols |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego utrwalonego indeksu i kolumny statystyk. |
sys.sysscalartypes |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego typu zdefiniowanego przez użytkownika lub systemu. |
sys.sysdbreg |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdej zarejestrowanej bazy danych. |
sys.sysxsrvs |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdego lokalnego, połączonego lub zdalnego serwera. |
sys.sysrmtlgns |
Ta tabela podstawowa master systemu istnieje tylko w bazie danych. Zawiera wiersz dla każdego mapowania logowania zdalnego. Służy do mapowania przychodzących logowań, które twierdzą, że pochodzą z odpowiedniego serwera do rzeczywistego lokalnego logowania. |
sys.syslnklgns |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdego połączonego mapowania logowania. Połączone mapowania logowania są używane przez zdalne wywołania procedur i rozproszone zapytania, które pochodzą z serwera lokalnego do odpowiedniego serwera połączonego. |
sys.sysxlgns |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdego podmiotu zabezpieczeń serwera. |
sys.sysdbfiles |
Istnieje w każdej bazie danych. Jeśli kolumna dbid ma wartość zero, wiersz reprezentuje plik, który należy do tej bazy danych.
master W bazie danych kolumna dbid może być niezerowa. W takim przypadku wiersz reprezentuje plik główny. |
sys.sysusermsg |
Istnieje tylko w master bazie danych. Każdy wiersz reprezentuje komunikat o błędzie zdefiniowany przez użytkownika. |
sys.sysprivs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego uprawnienia na poziomie bazy danych lub serwera. Uwaga: uprawnienia na poziomie serwera są przechowywane w master bazie danych. |
sys.sysowners |
Istnieje w każdej bazie danych. Każdy wiersz reprezentuje jednostkę bazy danych. |
sys.sysobjkeycrypts |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego klucza symetrycznego, szyfrowania lub właściwości kryptograficznych skojarzonej z obiektem. |
sys.syscerts |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego certyfikatu w bazie danych. |
sys.sysasymkeys |
Istnieje w każdej bazie danych. Każdy wiersz reprezentuje klucz asymetryczny. |
sys.ftinds |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego indeksu pełnotekstowego w bazie danych. |
sys.sysxprops |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej właściwości rozszerzonej. |
sys.sysallocunits |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej jednostki alokacji magazynu. |
sys.sysrowsets |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego zestawu wierszy partycji dla indeksu lub sterta. |
sys.sysrowsetrefs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego indeksu do odwołania do zestawu wierszy. |
sys.syslogshippers |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdego monitora dublowania bazy danych. |
sys.sysremsvcbinds |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego powiązania usługi zdalnej. |
sys.sysconvgroup |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego wystąpienia usługi w usłudze Service Broker. |
sys.sysxmitqueue |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej kolejki transmisji usługi Service Broker. |
sys.sysdesend |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego wysyłającego punktu końcowego konwersacji usługi Service Broker. |
sys.sysdercv |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego odbierającego punktu końcowego konwersacji usługi Service Broker. |
sys.sysendpts |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdego punktu końcowego utworzonego na serwerze. |
sys.syswebmethods |
Istnieje tylko w master bazie danych. Zawiera wiersz dla każdej metody PROTOKOŁU SOAP zdefiniowanej w punkcie końcowym HTTP obsługującym protokół SOAP, który jest tworzony na serwerze. |
sys.sysqnames |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej przestrzeni nazw lub kwalifikowanej nazwy do tokenu identyfikatora 4-bajtowego. |
sys.sysxmlcomponent |
Istnieje w każdej bazie danych. Każdy wiersz reprezentuje składnik schematu XML. |
sys.sysxmlfacet |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego aspektu XML (ograniczenie) definicji typu XML. |
sys.sysxmlplacement |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego umieszczania XML dla składników XML. |
sys.syssingleobjrefs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego ogólnego odwołania N-do-1. |
sys.sysmultiobjrefs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego ogólnego odwołania N do N. |
sys.sysobjvalues |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdej właściwości ogólnej wartości jednostki. |
sys.sysguidrefs |
Istnieje w każdej bazie danych. Zawiera wiersz dla każdego odwołania identyfikatora sklasyfikowanego identyfikatora GUID. |
Aktualizowanie tabel bazowych systemu
Dane można wyświetlić w tabelach systemowych za pomocą widoków wykazu systemu. Aby zaktualizować metadane w tabeli podstawowej systemu, użyj odpowiedniego interfejsu Transact-SQL (na przykład instrukcji DDL). Nie można ręcznie aktualizować tabel systemowych. Program SQL Server zgłasza następujące komunikaty podczas wykonywania bezpośrednich aktualizacji tabel systemowych.
Tabela systemowa jest aktualizowana ręcznie
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.
Uruchamianie bazy danych przy użyciu tabeli systemowej, która została ręcznie zaktualizowana
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Wykonaj polecenie DBCC_CHECKDB po ręcznej aktualizacji tabeli systemowej
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Jeśli wykonasz ręczne aktualizacje tabeli systemowej i wystąpi problem, może zostać wyświetlony monit o przywrócenie z kopii zapasowej lub skopiowanie danych z bazy danych, której dotyczy problem, do nowej bazy danych. Aby uzyskać więcej informacji, zobacz akcje użytkownika dla MSSQLSERVER_8992.