Представления системного каталога (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в Microsoft Fabric

Представления каталога возвращают сведения, используемые ядро СУБД SQL Server. Рекомендуется использовать представления каталога, так как они являются самым общим интерфейсом для метаданных каталога, а также обеспечивают наиболее эффективный способ получения, преобразования и представления настраиваемых форм этой информации. Все доступные для пользователя метаданные каталога предоставляются через представления каталога.

Note

Представления каталога не содержат сведения о репликации, резервном копировании, плане обслуживания базы данных или агент SQL Server данных каталога.

Remarks

Некоторые представления каталога наследуют строки других представлений каталога. Например, представление каталога sys.tables наследует от представления каталога sys.objects . Представление sys.objects каталога называется базовым представлением, а sys.tables представление называется производным. Представление sys.tables каталога возвращает столбцы, относящиеся к таблицам, а также все столбцы, возвращаемые представлением sys.objects каталога. Представление sys.objects каталога возвращает строки для объектов, отличных от таблиц, таких как хранимые процедуры и представления. После создания таблицы ее метаданные возвращаются в обоих представлениях. Хотя два представления каталога возвращают разные уровни информации о таблице, существует только одна запись в метаданных для этой таблицы с одним именем и одним object_id. Это может быть описано следующим образом.

  • Базовое представление содержит подмножество столбцов и надмножество строк.
  • Производное представление содержит надмножество столбцов и подмножество строк.

Important

В будущих выпусках SQL Server корпорация Майкрософт может расширить определение любого системного представления каталога, добавив столбцы в конец списка столбцов. Из-за того что число возвращаемых столбцов может измениться и нарушить работу приложения, использование синтаксиса SELECT * FROM sys.<catalog_view_name> в конечном коде не рекомендуется.

Представления каталога в SQL Server были организованы по следующим категориям: