Partilhar via


OBJECTPROPERTYEX (Transact-SQL)

Retorna informações sobre objetos de escopo de esquema no banco de dados atual. Para obter uma lista desses objetos, consulte sys.objects (Transact-SQL). Não é possível usar a função OBJECTPROPERTYEX para objetos que não sejam do escopo de esquema, como gatilhos DDL (linguagem de definição de dados) e notificação de eventos.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

OBJECTPROPERTYEX ( id , property )

Argumentos

  • id
    É uma expressão que representa a ID do objeto no banco de dados atual. id é int e é considerado como um objeto de escopo de esquema no contexto do banco de dados atual.

  • property
    É uma expressão que contém as informações que serão retornadas para o objeto especificado pela identificação. O tipo de retorno é sql_variant. A tabela a seguir mostra o tipo de dados base para obter cada valor de propriedade.

    ObservaçãoObservação

    A não ser por indicação contrária, NULL é retornado quando property não é um nome de propriedade válido, id não é uma ID de objeto válida, id é um tipo de objeto sem suporte para property 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 de escopo de esquema

    Identifica o tipo base do objeto. Quando o objeto especificado for um SYNONYM, será retornado o tipo de base do objeto subjacente.

    Não nulo = Tipo do objeto

    Tipo de dados base: char(2)

    CnstIsClustKey

    Restrição

    Restrição PRIMARY KEY com um índice clusterizado.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsColumn

    Restrição

    Restrição CHECK, DEFAULT ou FOREIGN KEY em uma única coluna.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsDeleteCascade

    Restrição

    Restrição FOREIGN KEY com a opção ON DELETE CASCADE .

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsDisabled

    Restrição

    Restrição desabilitada.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsNonclustKey

    Restrição

    Restrição PRIMARY KEY com um índice não clusterizado.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsNotRepl

    Restrição

    A restrição é definida com o uso das palavras-chave NOT FOR REPLICATION.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsNotTrusted

    Restrição

    A restrição foi habilitada sem verificação das linhas existentes. Portanto, a restrição pode não ser válida para todas as linhas.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    CnstIsUpdateCascade

    Restrição

    Restrição FOREIGN KEY com a opção UPDATE CASCADE .

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsAfterTrigger

    Gatilho

    Gatilho AFTER.

    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 ANSI_NULLS durante a criação.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsDeleteTrigger

    Gatilho

    Gatilho DELETE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsFirstDeleteTrigger

    Gatilho

    O primeiro gatilho acionado quando uma DELETE é executada na tabela.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsFirstInsertTrigger

    Gatilho

    O primeiro gatilho acionado quando uma INSERT é executada na tabela.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsFirstUpdateTrigger

    Gatilho

    O primeiro gatilho acionado quando uma UPADTE é executada na tabela.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsInsertTrigger

    Gatilho

    Gatilho INSERT.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsInsteadOfTrigger

    Gatilho

    Gatilho INSTEAD OF.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsLastDeleteTrigger

    Gatilho

    O último gatilho acionado quando uma DELETE é executada na tabela.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsLastInsertTrigger

    Gatilho

    O último gatilho acionado quando uma INSERT é executada na tabela.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    ExecIsLastUpdateTrigger

    Gatilho

    Último gatilho acionado quando uma UPDATE é executada 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 QUOTED_IDENTIFIER na 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

    Gatilho UPDATE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    HasAfterTrigger

    Tabela, exibição

    A tabela ou exibição tem um gatilho AFTER.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    HasDeleteTrigger

    Tabela, exibição

    A tabela ou exibição tem um gatilho DELETE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    HasInsertTrigger

    Tabela, exibição

    A tabela ou exibição tem um gatilho INSERT.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    HasInsteadOfTrigger

    Tabela, exibição

    A tabela ou exibição tem um gatilho INSTEAD OF.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    HasUpdateTrigger

    Tabela, exibição

    A tabela ou exibição tem um gatilho UPDATE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsAnsiNullsOn

    Função Transact-SQL, procedimento, tabela Transact-SQL, gatilho, exibição Transact-SQL

    Especifica a configuração da opção ANSI_NULLS para a tabela como ON, ou seja, todas as comparações com um valor nulo são avaliadas como UNKNOWN. Essa configuração aplica-se a todas as expressões na definição da tabela, incluindo colunas e restrições computadas, enquanto a tabela existir.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsCheckCnst

    Qualquer objeto de escopo de esquema

    Restrição CHECK.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsConstraint

    Qualquer objeto de escopo de esquema

    Restrição

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsDefault

    Qualquer objeto de escopo de esquema

    Padrão de associação.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsDefaultCnst

    Qualquer objeto de escopo de esquema

    Restrição DEFAULT.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsDeterministic

    Escalar e funções avaliadas por tabela, exibição

    A propriedade determinística da função ou exibição.

    1 = Determinística

    0 = Não determinística

    Tipo de dados base: int

    IsEncrypted

    Função Transact-SQL, procedimento, tabela Transact-SQL, gatilho, exibição Transact-SQL

    Indica que o texto original da instrução de módulo foi convertido em um formato ofuscado. A saída do ofuscamento não é diretamente visível em quaisquer exibições do catálogo no SQL Server 2005. 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. Entretanto, o texto estará disponível para usuários privilegiados que puderem acessar as tabelas do sistema na porta DAC ou acessar diretamente os arquivos do 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 de escopo de 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 de escopo de esquema

    Procedimento estendido.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsForeignKey

    Qualquer objeto de escopo de esquema

    Restrição FOREIGN KEY.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsIndexed

    Tabela, exibição

    Uma tabela ou exibição com um índice.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsIndexable

    Tabela, 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 de escopo de esquema

    Um 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 de escopo de esquema

    Restrição PRIMARY KEY.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsProcedure

    Qualquer objeto de escopo de esquema

    Procedure.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsQuotedIdentOn

    Restrição CHECK, definição DEFAULT, função Transact-SQL, procedimento Transact-SQL, tabela, gatilho Transact-SQL, exibição.

    Especifica que a configuração do identificador de citação como ON, ou seja, 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 de escopo de esquema

    Fila do Service Broker

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsReplProc

    Qualquer objeto de escopo de esquema

    Procedimento de replicação.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsRule

    Qualquer objeto de escopo de esquema

    Regra vinculada.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsScalarFunction

    Função

    Funções com valor escalar

    1 = Função com valor escalar

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

    Tipo de dados base: int

    IsSchemaBound

    Função, exibição

    Uma função associada a esquema ou exibição 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 de escopo de esquema

    Gatilho.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    IsUniqueCnst

    Qualquer objeto de escopo de esquema

    Restrição UNIQUE.

    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

    Exibição

    Exibição.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    OwnerId

    Qualquer objeto de escopo de esquema

    Proprietário do objeto.

    ObservaçãoObservaçã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 do proprietário como o pai.

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

    NULL = O tipo de objeto não é suportado ou a ID do objeto é inválida.

    Tipo de dados base: int

    SchemaId

    Qualquer objeto de escopo de esquema

    A ID do esquema associado ao objeto:

    Não nulo = ID do esquema do objeto.

    Tipo de dados base: int

    SystemDataAccess

    Função, exibição

    O objeto acessa dados do sistema, catálogos ou tabelas virtuais do sistema, na instância local do SQL Server.

    0 = Nenhum

    1 = Leitura

    Tipo de dados base: int

    TableDeleteTrigger

    Tabela

    A tabela tem um gatilho DELETE.

    >1 = ID do primeiro acionador do tipo especificado.

    Tipo de dados base: int

    TableDeleteTriggerCount

    Tabela

    A tabela tem o número especificado de gatilhos DELETE.

    Não nulo = Número de gatilhos DELETE

    Tipo de dados base: int

    TableFullTextMergeStatus

    Tabela

    Se uma tabela tem um índice de texto completo 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á sendo mesclado.

    TableFullTextBackgroundUpdateIndexOn

    Tabela

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

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableFulltextCatalogId

    Tabela

    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

    A tabela tem controle de alterações de texto completo habilitado.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableFulltextDocsProcessed

    Tabela

    Número de linhas processado desde o início de indexação de texto completo. Em uma tabela 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 seguintes opções:

    • O número de documentos processados pelas operações de inserção ou atualização desde o início da população de controle de alteração completa, incremental ou manual.

    • O número de linhas processadas pelas operações de inserção ou atualização desde que o controle de alterações com população de índice de atualização em segundo plano foi habilitado, o esquema de índice de texto completo alterado, o catálogo de texto completo recriado ou a instância do SQL Server reiniciada, etc.

    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

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

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

    >0 = Uma das seguintes opções:

    • O número de documentos que não foram indexados desde o início da população de controle de alteração Completa, Incremental ou Manual.

    • Para controle de alteração com índice de atualização em segundo plano, o número de linhas que não foram indexadas desde o início ou reinício da população. A causa disso pode ter sido uma alteração de esquema, a recriação do catálogo, a reinicialização do servidor, e assim por diante.

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

    Tipo de dados base: int

    TableFulltextItemCount

    Tabela

    Não nulo = Número de linhas com indexação de texto completo bem-sucedida.

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

    Tipo de dados base: int

    TableFulltextKeyColumn

    Tabela

    ID da coluna associada ao índice exclusivo da única coluna que está participando da definição de índice de texto completo.

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

    Tipo de dados base: int

    TableFulltextPendingChanges

    Tabela

    Número de entradas de controle de alteração pendentes a ser processado.

    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

    0 = Inativo.

    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 suspensa ou em pausa.

    Tipo de dados base: int

    TableHasActiveFulltextIndex

    Tabela

    A tabela tem um índice de texto completo ativo.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasCheckCnst

    Tabela

    A tabela tem uma restrição CHECK.

    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 restrição DEFAULT.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasDeleteTrigger

    Tabela

    A tabela tem um gatilho DELETE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasForeignKey

    Tabela

    A tabela tem uma restrição FOREIGN KEY.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasForeignRef

    Tabela

    A tabela é referenciada por uma restrição FOREIGN KEY.

    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 gatilho INSERT.

    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 possui um ROWGUIDCOL para uma coluna uniqueidentifier .

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasTextImage

    Tabela

    A tabela tem uma coluna text, ntext ou image.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasTimestamp

    Tabela

    A tabela tem uma coluna timestamp.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasUniqueCnst

    Tabela

    A tabela tem uma restrição UNIQUE .

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasUpdateTrigger

    Tabela

    O objeto tem um gatilho UPDATE.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableHasVarDecimalStorageFormat

    Tabela

    A tabela está habilitada para formato de armazenamento vardecimal.

    1 = Verdadeiro

    0 = Falso

    TableInsertTrigger

    Tabela

    A tabela tem um gatilho INSERT.

    >1 = ID do primeiro acionador do tipo especificado.

    Tipo de dados base: int

    TableInsertTriggerCount

    Tabela

    A tabela tem o número especificado de gatilhos INSERT.

    >0 = O número de gatilhos INSERT.

    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

    Tabela é bloqueada devido a um trabalho bcp ou BULK INSERT.

    1 = Verdadeiro

    0 = Falso

    Tipo de dados base: int

    TableIsPinned

    Tabela

    A tabela está fixada para ser contida no cache de dados.

    0 = Falso

    Esse recurso não tem suporte no SQL Server 2005 e versões posteriores.

    TableTextInRowLimit

    Tabela

    A tabela tem uma opção text in row definida.

    > 0 = Máximo de bytes permitidos para text in row.

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

    Tipo de dados base: int

    TableUpdateTrigger

    Tabela

    A tabela tem um gatilho UPDATE.

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

    Tipo de dados base: int

    TableUpdateTriggerCount

    Tabela

    A tabela tem o número especificado de gatilhos UPDATE.

    > 0 = o número de gatilhos UPDATE.

    Tipo de dados base: int

    UserDataAccess

    Função, exibição

    Indica que o objeto acessa dados de usuário, 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 Usando conjuntos de colunas.

Tipos de retorno

sql_variant

Exceções

Retorna NULL no caso de 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 tenha recebido permissão. Isso significa que as funções internas emissoras de metadados, como OBJECTPROPERTYEX, podem retornar NULL se o usuário não tiver permissão no objeto. Para obter mais informações, consulte Configuração de visibilidade de metadados e Solucionando problemas de visibilidade de metadados.

Comentários

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

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

OBJECTPROPERTYEX(view_id**,'IsIndexable'**) pode consumir recursos significativos do computador porque a avaliação da propriedade IsIndexable requer a análise da definição, a normalização e a otimização parcial da exibição. 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, consulte CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX(table_id**,'TableHasActiveFulltextIndex'**) retornará um valor 1 (verdadeiro) quando pelo menos uma coluna de uma tabela for 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 Configuração de visibilidade de metadados.

Exemplos

A. Localizando o tipo base de um objeto

O exemplo a seguir cria um SYNONYM MyEmployeeTable para a tabela Employee do banco de dados AdventureWorks, e, em seguida, retorna o tipo base do SYNONYM.

USE AdventureWorks;
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. Retornando um valor de propriedade

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

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

C. Localizando tabelas que possuem uma restrição FOREIGN KEY

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

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