OBJECTPROPERTYEX (Transact-SQL)

Restituisce informazioni sugli oggetti con ambito schema nel database corrente. Per un elenco di questi oggetti, vedere sys.objects (Transact-SQL). La funzione OBJECTPROPERTYEX non può essere utilizzata per oggetti non definiti a livello di ambito dello schema, ad esempio notifiche degli eventi e trigger DDL (Data Definition Language).

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

OBJECTPROPERTYEX ( id , property )

Argomenti

  • id
    Espressione che rappresenta l'ID dell'oggetto nel database corrente. id è di tipo int e si presuppone che sia un oggetto con ambito schema nel contesto di database corrente.

  • property
    Espressione che contiene le informazioni da restituire per l'oggetto con l'ID specificato. Il tipo restituito è sql_variant. Nella tabella seguente viene indicato il tipo di dati di base per ogni valore di questo argomento.

    Nota

    Se non specificato diversamente, viene restituito NULL quando property non è un nome di proprietà valido, id non è un ID di oggetto valido, id è un tipo di oggetto non supportato per l'argomento property specificato oppure il chiamante non dispone delle autorizzazioni necessarie per visualizzare i metadati dell'oggetto.

    Nome proprietà

    Tipo di oggetto

    Descrizione e valori restituiti

    BaseType

    Qualsiasi oggetto con ambito schema

    Identifica il tipo di base dell'oggetto. Quando l'oggetto specificato è di tipo SYNONYM, viene restituito il tipo di base dell'oggetto sottostante.

    Valore diverso da Null = Tipo di oggetto

    Tipo di dati di base: char(2)

    CnstIsClustKey

    Vincolo

    Vincolo PRIMARY KEY con un indice cluster.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsColumn

    Vincolo

    Vincolo CHECK, DEFAULT o FOREIGN KEY per una singola colonna.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsDeleteCascade

    Vincolo

    Vincolo FOREIGN KEY con l'opzione ON DELETE CASCADE.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsDisabled

    Vincolo

    Vincolo disabilitato.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsNonclustKey

    Vincolo

    Vincolo PRIMARY KEY con un indice non cluster.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsNotRepl

    Vincolo

    Vincolo definito con le parole chiave NOT FOR REPLICATION.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsNotTrusted

    Vincolo

    Vincolo attivato senza eseguire una verifica delle righe esistenti. Il vincolo pertanto potrebbe non essere valido per tutte le righe.

    1 = True

    0 = False

    Tipo di dati di base: int

    CnstIsUpdateCascade

    Vincolo

    Vincolo FOREIGN KEY con l'opzione ON UPDATE CASCADE.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsAfterTrigger

    Trigger

    Trigger AFTER.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsAnsiNullsOn

    Funzione Transact-SQL, procedura Transact-SQL, trigger Transact-SQL, vista

    Impostazione di ANSI_NULLS in fase di creazione.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsDeleteTrigger

    Trigger

    Trigger DELETE.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsFirstDeleteTrigger

    Trigger

    Primo trigger attivato quando viene eseguita un'istruzione DELETE sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsFirstInsertTrigger

    Trigger

    Primo trigger attivato quando viene eseguita un'istruzione INSERT sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsFirstUpdateTrigger

    Trigger

    Primo trigger attivato quando viene eseguita un'istruzione UPDATE sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsInsertTrigger

    Trigger

    Trigger INSERT.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsInsteadOfTrigger

    Trigger

    Trigger INSTEAD OF.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsLastDeleteTrigger

    Trigger

    Ultimo trigger attivato quando viene eseguita un'istruzione DELETE sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsLastInsertTrigger

    Trigger

    Ultimo trigger attivato quando viene eseguita un'istruzione INSERT sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsLastUpdateTrigger

    Trigger

    Ultimo trigger attivato quando viene eseguita un'istruzione UPDATE sulla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsQuotedIdentOn

    Funzione Transact-SQL, procedura Transact-SQL, trigger Transact-SQL, vista

    Impostazione di QUOTED_IDENTIFIER in fase di creazione.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsStartup

    Procedura

    Procedura di avvio.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsTriggerDisabled

    Trigger

    Trigger disabilitato.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsTriggerNotForRepl

    Trigger

    Trigger definito come NOT FOR REPLICATION.

    1 = True

    0 = False

    Tipo di dati di base: int

    ExecIsUpdateTrigger

    Trigger

    Trigger UPDATE.

    1 = True

    0 = False

    Tipo di dati di base: int

    HasAfterTrigger

    Tabella, vista

    Tabella o vista che include un trigger AFTER.

    1 = True

    0 = False

    Tipo di dati di base: int

    HasDeleteTrigger

    Tabella, vista

    Tabella o vista che include un trigger DELETE.

    1 = True

    0 = False

    Tipo di dati di base: int

    HasInsertTrigger

    Tabella, vista

    Tabella o vista che include un trigger INSERT.

    1 = True

    0 = False

    Tipo di dati di base: int

    HasInsteadOfTrigger

    Tabella, vista

    Tabella o vista che include un trigger INSTEAD OF.

    1 = True

    0 = False

    Tipo di dati di base: int

    HasUpdateTrigger

    Tabella, vista

    Tabella o vista che include un trigger UPDATE.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsAnsiNullsOn

    Funzione Transact-SQL, procedura Transact-SQL, tabella, trigger Transact-SQL, vista

    L'opzione ANSI NULLS per la tabella è impostata su ON, il che significa che tutti i confronti di un valore Null restituiscono UNKNOWN. Questa impostazione viene applicata a tutte le espressioni nella definizione di tabella, inclusi i vincoli e le colonne calcolate, per tutto il tempo in cui la tabella è disponibile.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsCheckCnst

    Qualsiasi oggetto con ambito schema

    Vincolo CHECK.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsConstraint

    Qualsiasi oggetto con ambito schema

    Vincolo.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsDefault

    Qualsiasi oggetto con ambito schema

    Valore predefinito associato.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsDefaultCnst

    Qualsiasi oggetto con ambito schema

    Vincolo DEFAULT.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsDeterministic

    Funzioni con valori scalari e valutate a livello di tabella, vista

    Proprietà deterministica della funzione o della vista.

    1 = Deterministica

    0 = Non deterministica

    Tipo di dati di base: int

    IsEncrypted

    Funzione Transact-SQL, procedura Transact-SQL, tabella, trigger Transact-SQL, vista

    Indica che il testo originale dell'istruzione del modulo è stato convertito in un formato offuscato. L'output dell'offuscamento non è visibile direttamente nelle viste del catalogo in SQL Server 2005. Gli utenti che non hanno accesso a tabelle di sistema o file del database non possono recuperare il testo offuscato. Il testo è tuttavia disponibile per gli utenti con privilegi di accesso a tabelle di sistema attraverso la porta DAC oppure con privilegi di accesso diretto a file del database. Gli utenti in grado di collegare un debugger al processo del server possono inoltre recuperare la procedura originale dalla memoria in fase di esecuzione.

    1 = Crittografato

    0 = Non crittografato

    Tipo di dati di base: int

    IsExecuted

    Qualsiasi oggetto con ambito schema

    L'oggetto può essere eseguito (vista, procedura, funzione o trigger).

    1 = True

    0 = False

    Tipo di dati di base: int

    IsExtendedProc

    Qualsiasi oggetto con ambito schema

    Procedura estesa.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsForeignKey

    Qualsiasi oggetto con ambito schema

    Vincolo FOREIGN KEY.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsIndexed

    Tabella, vista

    Tabella o vista che include un indice.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsIndexable

    Tabella, vista

    Tabella o vista per cui è possibile creare un indice.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsInlineFunction

    Funzione

    Funzione inline.

    1 = Funzione inline

    0 = Funzione non inline

    Tipo di dati di base: int

    IsMSShipped

    Qualsiasi oggetto con ambito schema

    Oggetto creato durante l'installazione di SQL Server.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsPrecise

    Colonna calcolata, funzione, tipo definito dall'utente, vista

    L'oggetto contiene un calcolo impreciso, ad esempio operazioni a virgola mobile.

    1 = Preciso

    0 = Impreciso

    Tipo di dati di base: int

    IsPrimaryKey

    Qualsiasi oggetto con ambito schema

    Vincolo PRIMARY KEY.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsProcedure

    Qualsiasi oggetto con ambito schema

    Procedura.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsQuotedIdentOn

    Vincolo CHECK, definizione DEFAULT, funzione Transact-SQL, procedura Transact-SQL, tabella, trigger Transact-SQL, vista

    L'opzione relativa all'utilizzo dell'identificatore tra virgolette per l'oggetto è impostata su ON, il che significa che gli identificatori sono racchiusi tra virgolette doppie in tutte le espressioni a cui viene fatto riferimento nella definizione dell'oggetto.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsQueue

    Qualsiasi oggetto con ambito schema

    Coda di Service Broker.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsReplProc

    Qualsiasi oggetto con ambito schema

    Procedura di replica.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsRule

    Qualsiasi oggetto con ambito schema

    Regola associata.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsScalarFunction

    Funzione

    Funzione con valori scalari.

    1 = Funzione con valori scalari

    0 = Funzione senza valori scalari

    Tipo di dati di base: int

    IsSchemaBound

    Funzione, vista

    Funzione o vista associata a schema creata con la clausola SCHEMABINDING.

    1 = Associata a schema

    0 = Non associata a schema

    Tipo di dati di base: int

    IsSystemTable

    Tabella

    Tabella di sistema.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsSystemVerified

    Colonna calcolata, funzione, tipo definito dall'utente, vista

    Le proprietà deterministiche e di precisione dell'oggetto possono essere verificate da SQL Server.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsTable

    Tabella

    Tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsTableFunction

    Funzione

    Funzione valutata a livello di tabella.

    1 = Funzione valutata a livello di tabella

    0 = Funzione non valutata a livello di tabella

    Tipo di dati di base: int

    IsTrigger

    Qualsiasi oggetto con ambito schema

    Trigger.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsUniqueCnst

    Qualsiasi oggetto con ambito schema

    Vincolo UNIQUE.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsUserTable

    Tabella

    Tabella definita dall'utente.

    1 = True

    0 = False

    Tipo di dati di base: int

    IsView

    Vista

    Vista.

    1 = True

    0 = False

    Tipo di dati di base: int

    OwnerId

    Qualsiasi oggetto con ambito schema

    Proprietario dell'oggetto.

    NotaNota
    Il proprietario dello schema non deve necessariamente corrispondere al proprietario dell'oggetto. Ad esempio, gli oggetti figlio, per i quali il parametro parent_object_id è impostato su un valore diverso da Null, restituiscono sempre lo stesso ID di proprietario del padre.

    Valore diverso da Null = ID utente del database del proprietario dell'oggetto.

    NULL = Tipo di oggetto non supportato oppure ID di oggetto non valido.

    Tipo di dati di base: int

    SchemaId

    Qualsiasi oggetto con ambito schema

    ID dello schema associato all'oggetto.

    Valore diverso da Null = ID dello schema dell'oggetto.

    Tipo di dati di base: int

    SystemDataAccess

    Funzione, vista

    L'oggetto accede a dati di sistema, cataloghi di sistema o tabelle di sistema virtuali nell'istanza locale di SQL Server.

    0 = Nessuno

    1 = Lettura

    Tipo di dati di base: int

    TableDeleteTrigger

    Tabella

    La tabella include un trigger DELETE.

    >1 = ID del primo trigger del tipo specificato.

    Tipo di dati di base: int

    TableDeleteTriggerCount

    Tabella

    La tabella include il numero specificato di trigger DELETE.

    Valore diverso da Null = Numero di trigger DELETE.

    Tipo di dati di base: int

    TableFullTextMergeStatus

    Tabella

    Indica se una tabella dispone di un indice full-text su cui è attualmente in corso un'operazione di unione.

    0 = la tabella non dispone di un indice full-text o sull'indice full-text non è in corso un'operazione di unione.

    1 = sull'indice full-text è in corso un'operazione di unione.

    TableFullTextBackgroundUpdateIndexOn

    Tabella

    Nella tabella è attivato l'indice full-text ad aggiornamento in background (rilevamento automatico delle modifiche).

    1 = TRUE

    0 = FALSE

    Tipo di dati di base: int

    TableFulltextCatalogId

    Tabella

    ID del catalogo full-text contenente i dati dell'indice full-text per la tabella.

    Valore diverso da zero = ID del catalogo full-text associato all'indice univoco che identifica le righe di una tabella con indicizzazione full-text.

    0 = La tabella non include un indice full-text.

    Tipo di dati di base: int

    TableFullTextChangeTrackingOn

    Tabella

    Nella tabella è attivato il rilevamento delle modifiche full-text.

    1 = TRUE

    0 = FALSE

    Tipo di dati di base: int

    TableFulltextDocsProcessed

    Tabella

    Numero di righe elaborate dopo l'avvio dell'indicizzazione full-text. In una tabella sottoposta a indicizzazione ai fini della ricerca full-text tutte le colonne di una riga vengono considerate come facenti parte di un unico documento da indicizzare.

    0 = Nessuna ricerca per indicizzazione attiva oppure l'indicizzazione full-text è stata completata.

    > 0 = Può essere uno dei valori seguenti:

    • Numero di documenti elaborati dalle operazioni di inserimento o aggiornamento dopo l'avvio del popolamento con rilevamento delle modifiche completo, incrementale o manuale.

    • Numero di righe elaborate dalle operazioni di inserimento o aggiornamento dopo l'attivazione del rilevamento delle modifiche con popolamento dell'indice ad aggiornamento in background, la modifica dello schema dell'indice full-text, la ricompilazione del catalogo full-text, il riavvio dell'istanza di SQL Server e così via.

    NULL = La tabella non include un indice full-text.

    Tipo di dati di base: int

    Nota   Questa proprietà non monitora né conta le righe eliminate.

    TableFulltextFailCount

    Tabella

    Numero di righe non indicizzate dalla ricerca full-text.

    0 = Popolamento completato.

    > 0 = Può essere uno dei valori seguenti:

    • Numero di documenti non indicizzati dopo l'avvio del popolamento con rilevamento delle modifiche ad aggiornamento completo, incrementale e manuale.

    • Per il rilevamento delle modifiche con un indice ad aggiornamento in background, numero di righe non indicizzate dopo l'avvio o il riavvio del popolamento. La mancata indicizzazione potrebbe essere dovuta a una modifica dello schema, alla ricompilazione del catalogo, al riavvio del server e così via.

    NULL = La tabella non include un indice full-text.

    Tipo di dati di base: int

    TableFulltextItemCount

    Tabella

    Valore diverso da Null = Numero di righe per cui l'indicizzazione full-text ha avuto esito positivo.

    NULL = La tabella non include un indice full-text.

    Tipo di dati di base: int

    TableFulltextKeyColumn

    Tabella

    ID della colonna associata all'indice univoco a colonna singola a cui viene fatto riferimento nella definizione dell'indice full-text.

    0 = La tabella non include un indice full-text.

    Tipo di dati di base: int

    TableFulltextPendingChanges

    Tabella

    Numero di voci in sospeso del rilevamento delle modifiche da elaborare.

    0 = Il rilevamento delle modifiche non è attivato.

    NULL = La tabella non include un indice full-text.

    Tipo di dati di base: int

    TableFulltextPopulateStatus

    Tabella

    0 = Inattivo.

    1 = Popolamento completo in corso.

    2 = Popolamento incrementale in corso.

    3 = Propagazione delle modifiche rilevate in corso.

    4 = Operazione in corso per l'indice ad aggiornamento in background, ad esempio il rilevamento automatico delle modifiche.

    5 = Indicizzazione full-text rallentata o sospesa.

    Tipo di dati di base: int

    TableHasActiveFulltextIndex

    Tabella

    La tabella include un indice full-text attivo.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasCheckCnst

    Tabella

    La tabella include un vincolo CHECK.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasClustIndex

    Tabella

    La tabella include un indice cluster.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasDefaultCnst

    Tabella

    La tabella include un vincolo DEFAULT.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasDeleteTrigger

    Tabella

    La tabella include un trigger DELETE.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasForeignKey

    Tabella

    La tabella include un vincolo FOREIGN KEY.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasForeignRef

    Tabella

    Un vincolo FOREIGN KEY fa riferimento alla tabella.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasIdentity

    Tabella

    La tabella include una colonna Identity.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasIndex

    Tabella

    La tabella include un indice di qualsiasi tipo.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasInsertTrigger

    Tabella

    L'oggetto include un trigger INSERT.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasNonclustIndex

    Tabella

    La tabella include un indice non cluster.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasPrimaryKey

    Tabella

    La tabella include una chiave primaria.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasRowGuidCol

    Tabella

    La tabella include un ROWGUIDCOL per una colonna uniqueidentifier .

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasTextImage

    Tabella

    La tabella include una colonna di tipo text, ntext o image.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasTimestamp

    Tabella

    La tabella include una colonna di tipo timestamp.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasUniqueCnst

    Tabella

    La tabella include un vincolo UNIQUE.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasUpdateTrigger

    Tabella

    L'oggetto include un trigger UPDATE.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableHasVarDecimalStorageFormat

    Tabella

    La tabella è abilitata per utilizzare il formato di archiviazione vardecimal.

    1 = True

    0 = False

    TableInsertTrigger

    Tabella

    La tabella include un trigger INSERT.

    >1 = ID del primo trigger del tipo specificato.

    Tipo di dati di base: int

    TableInsertTriggerCount

    Tabella

    La tabella include il numero specificato di trigger INSERT.

    >0 = Numero di trigger INSERT.

    Tipo di dati di base: int

    TableIsFake

    Tabella

    La tabella non è reale, ma viene creata internamente su richiesta da Motore di database.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableIsLockedOnBulkLoad

    Tabella

    La tabella è bloccata a causa di un processo bcp o BULK INSERT.

    1 = True

    0 = False

    Tipo di dati di base: int

    TableIsPinned

    Tabella

    Per la tabella è attivo il pinning in modo da mantenerla memorizzata nella cache dei dati.

    0 = False

    Questa caratteristica non è supportata in SQL Server 2005 e versioni successive.

    TableTextInRowLimit

    Tabella

    Per la tabella è stata impostata l'opzione text in row.

    > 0 = Numero massimo di byte consentiti per text in row.

    0 = L'opzione Text in row non è impostata.

    Tipo di dati di base: int

    TableUpdateTrigger

    Tabella

    La tabella include un trigger UPDATE.

    >1 = ID del primo trigger del tipo specificato.

    Tipo di dati di base: int

    TableUpdateTriggerCount

    Tabella

    La tabella include il numero specificato di trigger UPDATE.

    >0 = Numero di trigger UPDATE.

    Tipo di dati di base: int

    UserDataAccess

    Funzione, vista

    L'oggetto accede a dati utente (tabelle utente) nell'istanza locale di SQL Server.

    1 = Lettura

    0 = Nessuno

    Tipo di dati di base: int

    TableHasColumnSet

    Tabella

    Indica se la tabella include un set di colonne.

    0 = False

    1 = True

    Per ulteriori informazioni, vedere Utilizzo di set di colonne.

Tipi restituiti

sql_variant

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

Un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come OBJECTPROPERTYEX possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati e Risoluzione dei problemi relativi alla visibilità dei metadati.

Osservazioni

In Motore di database si presuppone che l'oggetto specificato in object_id si trovi nel contesto di database corrente. Una query in cui viene fatto riferimento a un object_id in un altro database restituisce NULL oppure risultati non corretti. Nella query seguente, ad esempio, il contesto di database corrente è il database master. Motore di database tenterà di restituire il valore della proprietà per l'oggetto con il valore object_id specificato in tale database anziché nel database specificato nella query. La query restituisce risultati non corretti perché la vista vEmployee non si trova nel database master.

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

OBJECTPROPERTYEX(view_id, 'IsIndexable') può richiedere una quantità elevata di risorse del sistema perché la valutazione della proprietà IsIndexable richiede l'analisi della definizione, della normalizzazione e dell'ottimizzazione parziale della vista. Sebbene la proprietà IsIndexable identifichi tabelle o viste che è possibile indicizzare, la creazione effettiva dell'indice può avere esito negativo se non vengono soddisfatti determinati requisiti riguardanti la chiave di indice. Per ulteriori informazioni, vedere CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') restituisce il valore 1 (true) quando almeno una colonna di una tabella viene aggiunta per l'indicizzazione. L'indicizzazione full-text risulta attiva per il popolamento non appena viene aggiunta la prima colonna per l'indicizzazione.

Il set di risultati è soggetto ad alcune restrizioni riguardanti la visibilità dei metadati. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.

Esempi

A. Ricerca del tipo di base di un oggetto

Nell'esempio seguente viene creato un oggetto SYNONYM MyEmployeeTable per la tabella Employee nel database AdventureWorks2008R2 e quindi viene restituito il tipo di base di SYNONYM.

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

Nel set di risultati viene indicato che il tipo di base dell'oggetto sottostante, ovvero la tabella Employee, è una tabella utente.

Base Type 
-------- 
U 

B. Restituzione del valore di una proprietà

Nell'esempio seguente viene restituito il numero di trigger UPDATE per la tabella specificata.

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

C. Ricerca delle tabelle con vincolo FOREIGN KEY

Nell'esempio seguente viene utilizzata la proprietà TableHasForeignKey per restituire tutte le tabelle con vincolo FOREIGN KEY.

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