Представления схемы системных сведений (Transact-SQL)

Применимо к: даSQL Server (все поддерживаемые версии) ДаБаза данных SQL Azure

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

Важно!

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

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

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

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

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

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

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

Разрешения

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

Примечание

Представления информационной схемы определяются на уровне сервера и поэтому не могут быть запрещены в контексте пользовательской базы данных. Чтобы отозвать или запретить доступ (SELECT), необходимо использовать базу данных master. По умолчанию открытая роль имеет разрешение SELECT на все представления информационной схемы, но содержимое ограничено правилами видимости метаданных.

См. также: