представления схемы Сведения о системе (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Представление схемы сведений — это один из нескольких методов SQL Server для получения метаданных. Представления схемы сведений предоставляют внутреннее, системное табличное представление метаданных SQL Server. Представления информационной схемы позволяют приложениям правильно работать, несмотря на значительные изменения, внесенные в базовые системные таблицы. Представления схемы информации, включенные в SQL Server, соответствуют определению стандарта ISO для INFORMATION_SCHEMA.

Важно!

В представления информационной схемы были внесены определенные изменения, нарушающие обратную совместимость. Эти изменения описаны в разделах, посвященных конкретным представлениям.

SQL Server поддерживает соглашение об именовании трех частей при ссылке на текущий сервер. Стандарт ISO также поддерживает соглашения по трехкомпонентному именованию. Однако имена, которые используются в обоих соглашениях, различаются. Представления информационной схемы определяются в специальной схеме с именем INFORMATION_SCHEMA. Эта схема содержится в любой базе данных. Каждое представление информационной схемы содержит метаданные для всех объектов, хранящихся в этой конкретной базе данных. В следующей таблице показаны связи между именами SQL Server и стандартными именами SQL.

Имя SQL Server Соответствует эквивалентному стандартному имени SQL
База данных Каталог
Схема Схема
Object Object
определяемый пользователем тип данных Домен

Это соглашение о сопоставлении имен применяется к следующим представлениям, совместимым с ISO-кодом SQL Server.

Кроме того, некоторые представления содержат ссылки на различные классы данных, например символьные данные или двоичные данные.

При ссылке на представления информационной схемы необходимо использовать полное имя, включающее имя схемы INFORMATION_SCHEMA. Например:

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM AdventureWorks2022.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';

Разрешения

Видимость метаданных в представлениях схемы сведений ограничена защищаемыми правами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Примечание.

Представления схемы информации определяются на уровне сервера и поэтому не могут быть запрещены в контексте пользовательской базы данных. Чтобы ОТМЕНИТЬ или ЗАПРЕТить доступ (SELECT), необходимо использовать базу данных master. По умолчанию общедоступная роль имеет разрешение SELECT для всех представлений схемы информации, но содержимое ограничено правилами видимости метаданных.

См. также