Exibições de esquema de informações do sistema (Transact-SQL)

Aplica-se a: SQL Server (todas as versões com suporte) SQL do Azure Banco de Dados Instância Gerenciada de SQL do Azure

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

Importante

Algumas alterações feitas nas exibições do esquema de informações quebram a compatibilidade com versões anteriores. Essas alterações são descritas nos tópicos das exibições específicas.

SQL Server dá suporte a uma convenção de nomenclatura de três partes quando você se refere ao servidor atual. O padrão ISO também oferece suporte a uma convenção de nomenclatura de três partes. Entretanto, os nomes usados em ambas as convenções de nomenclatura são diferentes. As exibições de 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 naquele banco de dados específico. A tabela a seguir mostra as relações entre os nomes SQL Server e os nomes padrão do SQL.

Nome do SQL Server Mapeia para seu nome SQL padrão equivalente
Banco de dados Catálogo
Esquema Esquema
Objeto Objeto
Tipo de dados definido pelo usuário Domínio

Essa convenção de mapeamento de nomes se aplica aos seguintes SQL Server exibições compatíveis com ISO.

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

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

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

Permissões

A visibilidade dos metadados em exibições de esquema de informações é limitada a protegíveis que um usuário possui ou no qual o usuário recebeu alguma permissão. Para obter mais informações, consulte Metadata Visibility Configuration.

Observação

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 REVOGAR OU NEGAR acesso (SELECT), o banco de dados mestre deve ser usado. Por padrão, a função pública tem permissão SELECT para todos os modos de exibição de esquema de informações, mas o conteúdo é limitado com regras de visibilidade de metadados.

Consulte Também