Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Системные базовые таблицы — это основные таблицы, в которых хранятся метаданные определенной базы данных. База master данных является особенной в этом отношении, так как она содержит некоторые дополнительные таблицы, которые не найдены в других базах данных. Эти таблицы содержат устойчивые метаданные, областью которых является весь сервер.
Внимание
Системные базовые таблицы используются только в ядре СУБД SQL Server и не используются для общего использования клиентов. Системные базовые таблицы подвержены изменению, и совместимость не гарантируется.
Метаданные базовой таблицы системы
Участник, имеющий CONTROLили ALTERVIEW DEFINITION разрешение на базу данных, может просматривать метаданные системной базовой таблицы в представлении sys.objects каталога. Участник также может разрешать имена и идентификаторы объектов системных базовых таблиц с помощью встроенных функций, таких как OBJECT_NAME и OBJECT_ID.
Чтобы привязаться к системной базовой таблице, пользователь должен подключиться к экземпляру SQL Server с помощью выделенного подключения администратора (DAC). Попытка выполнить SELECT запрос из системной базовой таблицы без подключения с помощью DAC вызывает ошибку.
Внимание
Доступ к системным базовым таблицам с помощью DAC предназначен только для персонала Майкрософт, и это не поддерживаемый сценарий клиента.
Системные базовые таблицы
В следующей таблице перечислены и описаны все системные базовые таблицы в SQL Server.
| Базовая таблица | Описание |
|---|---|
sys.sysschobjs |
Существует в каждой базе данных. Каждая строка представляет объект базы данных. |
sys.sysbinobjs |
Существует в каждой базе данных. Содержит по строке на каждую сущность компонента Service Broker в базе данных. Сущности Service Broker включают следующие объекты: Тип сообщения контракт службы; Услуга Для списка имен и типов используется фиксированная двоичная сортировка. |
sys.sysclsobjs |
Существует в каждой базе данных. Содержит строку для каждой классифицированной сущности, которая использует те же общие свойства, которые включают следующие объекты: Сборка устройство резервного копирования; Полнотекстовый каталог Функция секционирования Схема секционирования файловая группа; Ключ обфускации Схема |
sys.sysnsobjs |
Существует в каждой базе данных. Содержит по строке на каждую сущность, действующую в пространстве имен. Эта таблица используется для хранения сущностей XML-коллекции. |
sys.syscolpars |
Существует в каждой базе данных. Содержит по строке на каждый столбец таблицы, представления или табличной функции. Cодержит также по строке на каждый параметр процедуры или функции. |
sys.systypedsubobjs |
Существует в каждой базе данных. Содержит по строке на каждую типизированную вложенную сущность. К этой категории относятся только параметры функции секционирования. |
sys.sysidxstats |
Существует в каждой базе данных. Содержит по строке на каждый индекс или статистику для таблиц и индексированных представлений. Заметка: Каждый индекс (кроме кучи) связан со статистикой, которая имеет то же имя, что и индекс. |
sys.sysiscols |
Существует в каждой базе данных. Содержит по строке на каждый материализованный столбец индекса или статистики. |
sys.sysscalartypes |
Существует в каждой базе данных. Содержит по строке на каждый системный или пользовательский тип данных. |
sys.sysdbreg |
Существует только в master базе данных. Содержит по строке на каждую зарегистрированную базу данных. |
sys.sysxsrvs |
Существует только в master базе данных. Содержит по строке на каждый локальный, связанный или удаленный сервер. |
sys.sysrmtlgns |
Эта системная базовая таблица существует только в master базе данных. Содержит по строке на каждое сопоставление удаленного имени входа. Используется для сопоставления имен входа, предположительно поступивших с соответствующего сервера, с действительным локальным именем входа. |
sys.syslnklgns |
Существует только в master базе данных. Содержит по строке на каждое сопоставление связанных имен входа. Сопоставления связанных имен входа используются для удаленного вызова процедур или распределенных запросов, идущих от локального сервера к соответствующему связанному серверу. |
sys.sysxlgns |
Существует только в master базе данных. Содержит по строке на каждый зарегистрированный участник на уровне сервера. |
sys.sysdbfiles |
Существует в каждой базе данных. Если столбец dbid равен нулю, строка представляет файл, принадлежащий этой базе данных.
master В базе данных столбец dbid может быть ненулевой. В этом случае строка представляет главный файл. |
sys.sysusermsg |
Существует только в master базе данных. Каждая строка представляет сообщение об ошибке, заданное пользователем. |
sys.sysprivs |
Существует в каждой базе данных. Содержит по строке на каждое разрешение на уровне базы данных или сервера. Примечание. Разрешения на уровне сервера хранятся в master базе данных. |
sys.sysowners |
Существует в каждой базе данных. Каждая строка соответствует участнику базы данных. |
sys.sysobjkeycrypts |
Существует в каждой базе данных. Содержит по строке на каждый симметричный ключ, шифр и криптографическое свойство, связанное с объектом. |
sys.syscerts |
Существует в каждой базе данных. Содержит по строке на каждый сертификат в базе данных. |
sys.sysasymkeys |
Существует в каждой базе данных. Каждая строка представляет асимметричный ключ. |
sys.ftinds |
Существует в каждой базе данных. Содержит по строке на каждый полнотекстовый индекс в базе данных. |
sys.sysxprops |
Существует в каждой базе данных. Содержит по строке на каждое расширенное свойство. |
sys.sysallocunits |
Существует в каждой базе данных. Содержит по строке на каждую единицу распределения памяти. |
sys.sysrowsets |
Существует в каждой базе данных. Содержит по строке на каждый набор строк секции для индекса или кучи. |
sys.sysrowsetrefs |
Существует в каждой базе данных. Содержит по строке для каждой ссылки индекса на набор строк. |
sys.syslogshippers |
Существует только в master базе данных. Содержит по строке на каждый сервер, следящий за зеркальным отображением базы данных. |
sys.sysremsvcbinds |
Существует в каждой базе данных. Содержит по строке на каждую привязку удаленной службы. |
sys.sysconvgroup |
Существует в каждой базе данных. Содержит по строке на каждый экземпляр службы в Service Broker. |
sys.sysxmitqueue |
Существует в каждой базе данных. Содержит по строке на каждую очередь передачи в Service Broker. |
sys.sysdesend |
Существует в каждой базе данных. Содержит по строке на каждую передающей конечную точку диалога Service Broker. |
sys.sysdercv |
Существует в каждой базе данных. Содержит по одной строке на каждую принимающую конечную точку диалога Service Broker. |
sys.sysendpts |
Существует только в master базе данных. Содержит по строке на каждую конечную точку, созданную на сервере. |
sys.syswebmethods |
Существует только в master базе данных. Содержит по строке на каждый метод SOAP, заданный в конечной точке HTTP с поддержкой протокола SOAP, которая создана на сервере. |
sys.sysqnames |
Существует в каждой базе данных. Содержит по строке на каждое пространство имен или полное имя 4-байтового идентификационного токена. |
sys.sysxmlcomponent |
Существует в каждой базе данных. Каждая строка представляет компонент XML-схемы. |
sys.sysxmlfacet |
Существует в каждой базе данных. Содержит по строке на каждый из аспектов (ограничений) определения типа XML. |
sys.sysxmlplacement |
Существует в каждой базе данных. Содержит по строке на каждое XML-размещение для компонентов XML. |
sys.syssingleobjrefs |
Существует в каждой базе данных. Содержит по строке на каждую ссылку типа N-1. |
sys.sysmultiobjrefs |
Существует в каждой базе данных. Содержит по строке на каждую ссылку типа N-N. |
sys.sysobjvalues |
Существует в каждой базе данных. Содержит по строке на каждое общее свойство сущности. |
sys.sysguidrefs |
Существует в каждой базе данных. Содержит по строке на каждую ссылку типа GUID. |
Обновление системных базовых таблиц
Данные из системных таблиц можно просмотреть с помощью представлений системных каталогов. Чтобы обновить метаданные в системной базовой таблице, используйте соответствующий интерфейс Transact-SQL (например, инструкции DDL). Невозможно вручную обновить системные таблицы. SQL Server сообщает следующие сообщения при выполнении прямых обновлений системных таблиц.
Системная таблица обновляется вручную
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.
Запуск базы данных с системной таблицей, которая была обновлена вручную
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Выполните команду DBCC_CHECKDB после обновления системной таблицы вручную
Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.
Если вы выполняете обновления вручную в системную таблицу и столкнулись с проблемой, может потребоваться восстановить данные из резервной копии или скопировать данные из затронутой базы данных в новую базу данных. Дополнительные сведения см. в разделе "Действия пользователей " для MSSQLSERVER_8992.