Partilhar via


Vistas do esquema de informação do sistema (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Uma exibição de esquema de informações é um dos vários métodos que o SQL Server fornece para obter metadados. As exibições de esquema de informações fornecem uma exibição interna independente da tabela do sistema dos metadados do SQL Server. As exibições de esquema de informações permitem que os aplicativos funcionem corretamente, embora alterações significativas tenham sido feitas nas tabelas do sistema subjacente. As exibições de esquema de informações incluídas no SQL Server estão em conformidade com a definição padrão ISO para o INFORMATION_SCHEMA.

Important

Algumas alterações foram feitas nas exibições de esquema de informações que quebram a compatibilidade com versões anteriores. Essas alterações são descritas nos artigos para as exibições específicas.

O SQL Server dá suporte a uma convenção de nomenclatura de três partes quando você se refere ao servidor atual. A norma ISO também suporta uma convenção de nomenclatura em três partes. No entanto, os nomes usados em ambas as convenções de nomenclatura são diferentes. As exibições do esquema de informações são definidas em um esquema especial chamado INFORMATION_SCHEMA. Esse esquema está contido em cada banco de dados. Cada exibição de esquema de informações contém metadados para todos os objetos de dados armazenados nesse banco de dados específico. A tabela a seguir mostra as relações entre os nomes do SQL Server e os nomes padrão do SQL.

Nome do SQL Server Mapeia para este nome padrão SQL equivalente
Database Catalog
Schema Schema
Object Object
Tipo de dados definido pelo usuário Domain

Essa convenção de mapeamento de nome se aplica aos seguintes modos de exibição compatíveis com ISO do SQL Server.

Além disso, algumas exibições contêm referências a diferentes classes de dados, como dados de caracteres ou dados binários.

Ao fazer referência às exibições de esquema de informações, você deve usar um nome qualificado que inclua o nome do INFORMATION_SCHEMA esquema. Por exemplo:

USE AdventureWorks2022;
GO

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

Permissions

A visibilidade dos metadados nas exibições do esquema de informações é limitada aos protegíveis que um usuário possui ou nos quais o usuário recebe alguma permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.

As exibições de esquema de informações são definidas em todo o servidor e, portanto, não podem ser negadas dentro do contexto de um banco de dados de usuário. Para REVOKE ou DENY acessar (SELECT), o master banco de dados deve ser usado. Por padrão, a função pública tem SELECT-permission para todas as exibições de esquema de informações, mas o conteúdo é limitado com regras de visibilidade de metadados.

Não é possível negar acesso a exibições de esquema de informações no Banco de Dados SQL do Azure.