Compartilhar via


OBJECTPROPERTYEX (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

A OBJECTPROPERTYEX função retorna informações sobre objetos com escopo de esquema no banco de dados atual.

Para obter uma lista desses objetos, confirasys.objects (Transact-SQL). OBJECTPROPERTYEX não pode ser usado para objetos que não têm escopo de esquema, como gatilhos de DDL (linguagem de definição de dados) e notificações de evento.

Convenções de sintaxe de Transact-SQL

Sintaxe

OBJECTPROPERTYEX ( id , property )

Argumentos

ID

Uma expressão que representa a ID do objeto no banco de dados atual. A ID é int e supõe-se que seja um objeto com escopo de esquema no contexto atual do banco de dados.

property

Uma expressão que contém as informações a serem retornadas para o objeto especificado pela ID. O tipo de retorno é sql_variant. A tabela a seguir mostra o tipo de dados base para obter cada valor de propriedade.

Observação

A menos que observado o contrário, NULL é retornado quando a propriedade não é um nome de propriedade válido, a ID não é uma ID de objeto válida, a ID é um tipo de objeto sem suporte para a propriedade especificada ou o chamador não tem permissão para exibir os metadados do objeto.

Nome da propriedade Tipo de objeto Descrição e valores retornados
BaseType Qualquer objeto no escopo do esquema Identifica o tipo base do objeto. Quando o objeto especificado é um SYNONYM, o tipo base do objeto subjacente é retornado.

Não nulo = Tipo de objeto

Tipo de dados base: char(2)
CnstIsClustKey Constraint PRIMARY KEY restrição com um índice clusterizado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsColumn Constraint CHECK, DEFAULTou FOREIGN KEY restrição em uma única coluna.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsDeleteCascade Constraint FOREIGN KEY restrição com a opção ON DELETE CASCADE .

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsDisabled Constraint Restrição desabilitada.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsNonclustKey Constraint PRIMARY KEY restrição com um índice não clusterizado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsNotRepl Constraint A restrição é definida usando as NOT FOR REPLICATION palavras-chave.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsNotTrusted Constraint A restrição foi habilitada sem verificação das linhas existentes. Portanto, a restrição pode não conter todas as linhas.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
CnstIsUpdateCascade Constraint FOREIGN KEY restrição com a opção ON UPDATE CASCADE .

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsAfterTrigger Gatilho AFTER gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsAnsiNullsOn Função Transact-SQL, procedimento Transact-SQL, gatilho Transact-SQL, exibição A configuração de no momento da ANSI_NULLS criação.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsDeleteTrigger Gatilho DELETE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsFirstDeleteTrigger Gatilho O primeiro gatilho disparado quando um DELETE é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsFirstInsertTrigger Gatilho O primeiro gatilho disparado quando um INSERT é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsFirstUpdateTrigger Gatilho O primeiro gatilho disparado quando um UPDATE é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsInsertTrigger Gatilho INSERT gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsInsteadOfTrigger Gatilho INSTEAD OF gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsLastDeleteTrigger Gatilho Último gatilho disparado quando um DELETE é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsLastInsertTrigger Gatilho Último gatilho disparado quando um INSERT é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsLastUpdateTrigger Gatilho Último gatilho disparado quando um UPDATE é executado na tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsQuotedIdentOn Função Transact-SQL, procedimento Transact-SQL, gatilho Transact-SQL, exibição Configuração de no momento da QUOTED_IDENTIFIER criação.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsStartup Procedimento Procedimento de inicialização.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsTriggerDisabled Gatilho Gatilho desabilitado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsTriggerNotForRepl Gatilho Gatilho definido como NOT FOR REPLICATION.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsUpdateTrigger Gatilho UPDATE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
ExecIsWithNativeCompilation Procedimento Transact-SQL aplica-se a: SQL Server 2014 (12.x) e versões posteriores.

O procedimento é compilado nativamente.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
HasAfterTrigger Tabela ou exibição Tabela ou exibição tem um AFTER gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
HasDeleteTrigger Tabela ou exibição Tabela ou exibição tem um DELETE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
HasInsertTrigger Tabela ou exibição Tabela ou exibição tem um INSERT gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
HasInsteadOfTrigger Tabela ou exibição Tabela ou exibição tem um INSTEAD OF gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
HasUpdateTrigger Tabela ou exibição Tabela ou exibição tem um UPDATE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsAnsiNullsOn Função Transact-SQL, procedimento Transact-SQL, tabela, gatilho Transact-SQL, exibição Especifica que a configuração de opção ANSI NULLS para a tabela é ON, o que significa que todas as comparações em relação a um valor nulo são avaliadas como UNKNOWN. Essa configuração se aplica a todas as expressões na definição da tabela, inclusive colunas computadas e restrições, enquanto a tabela existir.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsCheckCnst Qualquer objeto no escopo do esquema CHECK restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsConstraint Qualquer objeto no escopo do esquema Restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsDefault Qualquer objeto no escopo do esquema Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Padrão associado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsDefaultCnst Qualquer objeto no escopo do esquema DEFAULT restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsDeterministic Funções escalares e com valor de tabela, exibição A propriedade determinista da função ou exibição.

1 = Determinista

0 = Não determinista

Tipo de dados base: int
IsEncrypted Função Transact-SQL, procedimento Transact-SQL, tabela, gatilho Transact-SQL, exibição Indica que o texto original da instrução de módulo foi convertido para um formato ofuscado. A saída do ofuscamento não é diretamente visível em quaisquer exibições de catálogo no SQL Server 2005 (9.x). Os usuários que não tiverem acesso a tabelas do sistema ou arquivos do banco de dados não poderão recuperar o texto ofuscado. No entanto, o texto está disponível para usuários que podem acessar tabelas do sistema pela conexão de diagnóstico para administradores de banco de dados ou acessar diretamente arquivos de banco de dados. Além disso, os usuários que podem anexar um depurador ao processo de servidor também podem recuperar o procedimento original da memória em tempo de execução.

1 = Criptografado

0 = não criptografado

Tipo de dados base: int
IsExecuted Qualquer objeto no escopo do esquema Especifica que o objeto pode ser executado (exibição, procedimento, função ou gatilho).

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsExtendedProc Qualquer objeto no escopo do esquema Procedimento estendido.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsForeignKey Qualquer objeto no escopo do esquema FOREIGN KEY restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsIndexed Tabela ou exibição Uma tabela ou exibição com um índice.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsIndexable Tabela ou exibição Uma tabela ou exibição na qual um índice pode ser criado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsInlineFunction Função Função embutida.

1 = Função embutida

0 = Função não embutida

Tipo de dados base: int
IsMSShipped Qualquer objeto no escopo do esquema Objeto criado durante a instalação do SQL Server.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsPrecise Coluna computada, função, tipo definido pelo usuário, exibição Indica se o objeto contém uma computação imprecisa, como operações de ponto flutuante.

1 = Precisa

0 = Imprecisa

Tipo de dados base: int
IsPrimaryKey Qualquer objeto no escopo do esquema PRIMARY KEY restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsProcedure Qualquer objeto no escopo do esquema Procedimento.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsQuotedIdentOn CHECK restrição, DEFAULT definição, função Transact-SQL, procedimento Transact-SQL, tabela, Transact-SQL gatilho, visualização Especifica que a configuração do identificador entre aspas para o objeto é ON, o que significa que aspas duplas delimitam identificadores em todas as expressões envolvidas na definição do objeto.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsQueue Qualquer objeto no escopo do esquema Fila do Service Broker

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsReplProc Qualquer objeto no escopo do esquema Procedimento de replicação.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsRule Qualquer objeto no escopo do esquema Regra associada.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsScalarFunction Função Função de valor escalar.

1 = Função de valor escalar

0 = Função com valor não escalar

Tipo de dados base: int
IsSchemaBound Função, Procedimento, exibição Uma função ou exibição associada ao esquema criada usando SCHEMABINDING.

1 = Associada a esquema

0 = Não associada a esquema

Tipo de dados base: int
IsSystemTable Tabela Tabela do sistema.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsSystemVerified Coluna computada, função, tipo definido pelo usuário, exibição As propriedades de precisão e determinismo do objeto podem ser verificadas pelo SQL Server.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsTable Tabela Tabela.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsTableFunction Função Função com valor de tabela.

1 = Função com valor de tabela

0 = Função sem valor de tabela

Tipo de dados base: int
IsTrigger Qualquer objeto no escopo do esquema Gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsUniqueCnst Qualquer objeto no escopo do esquema UNIQUE restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsUserTable Tabela Tabela definida pelo usuário.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
IsView Exibir Exibição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
OwnerId Qualquer objeto no escopo do esquema Proprietário do objeto.

Observação: O proprietário do esquema não é necessariamente o proprietário do objeto. Por exemplo, objetos filho (aqueles em que parent_object_id não é nulo) sempre retornarão a mesma ID de proprietário que o pai.

Não nulo = ID de usuário do banco de dados do proprietário do objeto.

NULL = O tipo de objeto sem suporte ou a ID do objeto não é válida.

Tipo de dados base: int
SchemaId Qualquer objeto no escopo do esquema A ID do esquema associado ao objeto:

Não nulo = ID de esquema do objeto.

Tipo de dados base: int
SystemDataAccess Função ou exibição O objeto acessa dados do sistema, catálogos do sistema ou tabelas do sistema virtual, na instância local do SQL Server.

0 = Nenhum

1 = Leitura

Tipo de dados base: int
TableDeleteTrigger Tabela A tabela tem um DELETE gatilho.

>1 = ID do primeiro gatilho com o tipo especificado.

Tipo de dados base: int
TableDeleteTriggerCount Tabela A tabela tem o número especificado de DELETE gatilhos.

Nonnull = Número de DELETE gatilhos

Tipo de dados base: int
TableFullTextMergeStatus Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Se uma tabela que tem um índice de texto completo está atualmente em mesclagem.

0 = A tabela não tem um índice de texto completo ou o índice de texto completo não está sendo mesclado.

1 = O índice de texto completo está em mesclagem.
TableFullTextBackgroundUpdateIndexOn Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

A tabela tem um índice de atualização em segundo plano de texto completo (controle de alterações automático) habilitado.

1 = VERDADEIRO

0 = FALSO

Tipo de dados base: int
TableFulltextCatalogId Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

ID do catálogo de texto completo no qual residem os dados do índice de texto completo para a tabela.

Diferente de zero = ID de catálogo de texto completo associado ao índice exclusivo que identifica as linhas em uma tabela indexada de texto completo.

0 = A tabela não tem um índice de texto completo.

Tipo de dados base: int
TableFullTextChangeTrackingOn Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

O controle de alterações de texto completo da tabela está habilitado.

1 = VERDADEIRO

0 = FALSO

Tipo de dados base: int
TableFulltextDocsProcessed Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de linhas processadas desde o início da indexação de texto completo. Em uma tabela que está sendo indexada para pesquisa de texto completo, todas as colunas de uma linha são consideradas parte de um documento a ser indexado.

0 = Nenhum rastreamento ativo ou indexação de texto completo está concluído.

> 0 = uma das opções a seguir (A ou B): A) o número de documentos processados pelas operações de inserção ou atualização desde o início do preenchimento do controle de alterações completo, incremental ou manual; B) o número de linhas processadas pelas operações de inserção ou atualização desde a habilitação do controle de alterações com preenchimento de índice de atualização em segundo plano, da alteração do esquema de índice de texto completo, da recompilação do catálogo de texto completo ou do reinício da instância do SQL Server e assim por diante.

NULL = A tabela não tem um índice de texto completo.

Tipo de dados base: int

Observação Essa propriedade não monitora nem conta linhas excluídas.
TableFulltextFailCount Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

O número de linhas que a pesquisa de texto completo não indexou.

0 = A população foi concluída.

>0 = uma das opções a seguir (A ou B): A) o número de documentos que não foram indexados desde o início do preenchimento do controle de alterações Completo, Incremental e Manual; B) para controle de alterações com índice de atualização em segundo plano, o número de linhas que não foram indexadas desde o início do preenchimento ou do reinício do preenchimento. A causa disso pode ter sido uma alteração de esquema, a reconstrução do catálogo, a reinicialização do servidor e assim por diante.

NULL = A tabela não tem um índice Full-Text.

Tipo de dados base: int
TableFulltextItemCount Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Não nulo = Número de linhas que foram indexadas com êxito.

NULL = A tabela não tem um índice de texto completo.

Tipo de dados base: int
TableFulltextKeyColumn Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

ID da coluna associada ao índice exclusivo de coluna única que faz parte da definição de um índice de texto completo e de um índice semântico.

0 = A tabela não tem um índice de texto completo.

Tipo de dados base: int
TableFulltextPendingChanges Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de entradas de controle de alterações pendentes a serem processadas.

0 = o controle de alterações não está habilitado.

NULL = A tabela não tem um índice de texto completo.

Tipo de dados base: int
TableFulltextPopulateStatus Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

0 = Ocioso

1 = População completa em andamento.

2 = População incremental em andamento.

3 = Propagação de alterações controladas em andamento.

4 = Índice de atualização em segundo plano em andamento, bem como controle de alteração automática.

5 = Indexação de texto completo acelerado ou pausado.

6 = ocorreu um erro. Examine o log de rastreamento para obter detalhes. Para obter mais informações, veja a seção Solução de problemas de erros em um preenchimento de texto completo (rastreamento)Preencher índices de texto completo.

Tipo de dados base: int
TableFullTextSemanticExtraction Tabela aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

A tabela está habilitada para indexação semântica.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasActiveFulltextIndex Tabela Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

A tabela tem um índice de texto completo ativo.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasCheckCnst Tabela A tabela tem uma CHECK restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasClustIndex Tabela A tabela tem um índice clusterizado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasDefaultCnst Tabela A tabela tem uma DEFAULT restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasDeleteTrigger Tabela A tabela tem um DELETE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasForeignKey Tabela A tabela tem uma FOREIGN KEY restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasForeignRef Tabela A tabela é referenciada por uma FOREIGN KEY restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasIdentity Tabela A tabela tem uma coluna de identidade.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasIndex Tabela A tabela tem um índice de qualquer tipo.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasInsertTrigger Tabela O objeto tem um INSERT gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasNonclustIndex Tabela A tabela tem um índice não clusterizado.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasPrimaryKey Tabela A tabela tem uma chave primária.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasRowGuidCol Tabela A tabela tem uma ROWGUIDCOL coluna uniqueidentifier .

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasTextImage Tabela A tabela contém uma coluna text, ntext ou image.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasTimestamp Tabela A tabela contém uma coluna timestamp.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasUniqueCnst Tabela A tabela tem uma UNIQUE restrição.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasUpdateTrigger Tabela O objeto tem um UPDATE gatilho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableHasVarDecimalStorageFormat Tabela A tabela é habilitada para o formato de armazenamento vardecimal.

1 = Verdadeiro

0 = Falso
TableInsertTrigger Tabela A tabela tem um INSERT gatilho.

>1 = ID do primeiro gatilho com o tipo especificado.

Tipo de dados base: int
TableInsertTriggerCount Tabela A tabela tem o número especificado de INSERT gatilhos.

>0 = O número de INSERT gatilhos.

Tipo de dados base: int
TableIsFake Tabela A tabela não é real. Ela é materializada internamente sob demanda pelo Mecanismo de Banco de Dados.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableIsLockedOnBulkLoad Tabela A tabela está bloqueada porque um bcp ou BULK INSERT trabalho.

1 = Verdadeiro

0 = Falso

Tipo de dados base: int
TableIsMemoryOptimized Tabela aplica-se a: SQL Server 2014 (12.x) e versões posteriores.

A tabela tem otimização de memória

1 = Verdadeiro

0 = Falso

Tipo de dados base: int

Para obter mais informações, consulte In-Memory cenários de visão geral e de uso do OLTP.
TableIsPinned Tabela A tabela está fixada para ser mantida no cache de dados.

0 = Falso

Esse recurso não tem suporte no SQL Server 2005 (9.x) e em versões posteriores.
TableTextInRowLimit Tabela A tabela tem uma opção text in row definida.

> 0 = máximo de bytes permitidos para texto em linha.

0 = se a opção text in row não estiver definida.

Tipo de dados base: int
TableUpdateTrigger Tabela A tabela tem um UPDATE gatilho.

> 1 =ID do primeiro gatilho com o tipo especificado.

Tipo de dados base: int
TableUpdateTriggerCount Tabela A tabela tem o número especificado de UPDATE gatilhos.

> 0 = O número de UPDATE gatilhos.

Tipo de dados base: int
UserDataAccess Função ou exibição Indica que o objeto acessa dados de usuário e tabelas de usuário na instância local do SQL Server.

1 = Leitura

0 = Nenhum

Tipo de dados base: int
TableHasColumnSet Tabela A tabela tem um conjunto de colunas.

0 = Falso

1 = Verdadeiro

Para obter mais informações, consulte Usar conjuntos de colunas.
Cardinality Tabela (sistema ou definido pelo usuário), exibição ou índice aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

O número de linhas no objeto especificado.
TableTemporalType Tabela aplica-se a: SQL Server 2016 (13.x) e versões posteriores.

Especifica o tipo de tabela.

0 = tabela não temporal

1 = tabela de histórico para tabela com controle de versão do sistema

2 = tabela temporal com controle de versão do sistema

Tipos de retorno

sql_variant

Exceções

Retorna NULL com erro ou se um chamador não tiver permissão para exibir o objeto.

Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão. Isso significa que funções internas que emitem metadados, como OBJECTPROPERTYEX, poderão ser retornadas NULL se o usuário não tiver nenhuma permissão no objeto. Para obter mais informações, consulte a configuração de visibilidade de metadados.

Comentários

O Mecanismo de Banco de Dados supõe que object_id esteja no contexto do banco de dados atual. Uma consulta que faz referência a um object_id em outro banco de dados retorna NULL ou resultados incorretos. Por exemplo, na consulta a seguir, o contexto atual do banco de dados é o master banco de dados. O Mecanismo de Banco de Dados tenta retornar o valor da propriedade para o object_id especificado nesse banco de dados em vez do banco de dados especificado na consulta. A consulta retorna resultados incorretos porque a exibição vEmployee não está no master banco de dados.

USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTYEX(view_id, 'IsIndexable') pode consumir recursos de computador significativos porque a avaliação da propriedade IsIndexable requer a análise da definição de exibição, normalização e otimização parcial. Embora a propriedade IsIndexable identifique tabelas ou exibições que podem ser indexadas, a criação atual do índice ainda poderá falhar se certos requisitos de chave de índice não forem atendidos. Para obter mais informações, veja CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') retorna um valor de 1 (true) quando pelo menos uma coluna de uma tabela é adicionada para indexação. A indexação de texto completo será ativada automaticamente para população assim que a primeira coluna for adicionada para indexação.

São aplicadas restrições de visibilidade dos metadados ao conjunto de resultados. Para obter mais informações, consulte a configuração de visibilidade de metadados.

Exemplos

a. Localizar o tipo base de um objeto

O exemplo a SYNONYMseguir cria um MyEmployeeTableEmployee para a AdventureWorks2025 tabela no banco de dados e, em SYNONYM seguida, retorna o tipo base do .

USE AdventureWorks2022;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO

O conjunto de resultados mostra que o tipo base do objeto subjacente, a tabela Employee, é uma tabela de usuário.

Base Type
--------
U

B. Retornar um valor de propriedade

O exemplo a seguir retorna o número de UPDATE gatilhos na tabela especificada.

USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO

C. Localizar tabelas que têm uma restrição FOREIGN KEY

O exemplo a seguir usa a TableHasForeignKey propriedade para retornar todas as tabelas que têm uma FOREIGN KEY restrição.

USE AdventureWorks2022;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

D. Localizando o tipo base de um objeto

O exemplo a seguir retorna o tipo base do objeto dbo.DimReseller.

-- Uses AdventureWorks

SELECT OBJECTPROPERTYEX ( object_id(N'dbo.DimReseller'), N'BaseType')AS BaseType;

O conjunto de resultados mostra que o tipo base do objeto subjacente, a tabela dbo.DimReseller, é uma tabela de usuário.

BaseType
--------
U