Поделиться через


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

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

Important

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

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

Имя SQL Server Соответствует эквивалентному стандартному имени SQL
Database Catalog
Schema Schema
Object Object
Определяемый пользователем тип данных Domain

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

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

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

USE AdventureWorks2022;
GO

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

Permissions

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

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

Невозможно запретить доступ к представлениям схемы информации в Базе данных SQL Azure.