Condividi tramite


OBJECTPROPERTYEX (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

La OBJECTPROPERTYEX funzione restituisce informazioni sugli oggetti con ambito schema nel database corrente.

Per un elenco di questi oggetti, vedere sys.objects (Transact-SQL). OBJECTPROPERTYEX non può essere usato per gli oggetti che non hanno ambito schema, ad esempio trigger DDL (Data Definition Language) e notifiche degli eventi.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

OBJECTPROPERTYEX ( id , property )

Argomenti

ID

Espressione che rappresenta l'ID dell'oggetto nel database corrente. L'ID è int e si presuppone che sia un oggetto con ambito schema nel contesto del database corrente.

property

Espressione che contiene le informazioni da restituire per l'oggetto specificato dall'ID. 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, NULL viene restituito quando la proprietà non è un nome di proprietà valido, ID non è un ID oggetto valido, ID è un tipo di oggetto non supportato per la proprietà specificata oppure il chiamante non dispone dell'autorizzazione per visualizzare i metadati dell'oggetto.

Nome della proprietà Tipo object Descrizione e valori restituiti
BaseType Qualsiasi oggetto con ambito schema Identifica il tipo di base dell'oggetto. Quando l'oggetto specificato è un SYNONYMoggetto , viene restituito il tipo di base dell'oggetto sottostante.

Non null = Tipo di oggetto

Tipo di dati di base: char(2)
CnstIsClustKey Vincolo PRIMARY KEY vincolo con un indice cluster.

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsColumn Vincolo CHECKVincolo , DEFAULTo FOREIGN KEY su una singola colonna.

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsDeleteCascade Vincolo FOREIGN KEY vincolo con l'opzione ON DELETE CASCADE .

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsDisabled Vincolo Vincolo disabilitato.

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsNonclustKey Vincolo PRIMARY KEY vincolo con un indice non cluster.

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsNotRepl Vincolo Il vincolo viene definito usando le NOT FOR REPLICATION parole chiave .

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsNotTrusted Vincolo Vincolo abilitato senza eseguire una verifica delle righe esistenti. Pertanto, il vincolo potrebbe non contenere per tutte le righe.

1 = Vero

0 = Falso

Tipo di dati di base: int
CnstIsUpdateCascade Vincolo FOREIGN KEY vincolo con l'opzione ON UPDATE CASCADE .

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsAfterTrigger Trigger AFTER Grilletto.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsAnsiNullsOn Funzione Transact-SQL, procedura Transact-SQL, trigger Transact-SQL, vista Impostazione di in fase di ANSI_NULLS creazione.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsDeleteTrigger Trigger DELETE Grilletto.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsFirstDeleteTrigger Trigger Primo trigger generato quando un DELETE oggetto viene eseguito sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsFirstInsertTrigger Trigger Primo trigger generato quando viene eseguito un oggetto INSERT sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsFirstUpdateTrigger Trigger Primo trigger generato quando viene eseguito un oggetto UPDATE sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsInsertTrigger Trigger INSERT Grilletto.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsInsteadOfTrigger Trigger INSTEAD OF Grilletto.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsLastDeleteTrigger Trigger Ultimo trigger generato quando viene eseguito un DELETE oggetto sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsLastInsertTrigger Trigger Ultimo trigger generato quando un oggetto INSERT viene eseguito sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsLastUpdateTrigger Trigger Ultimo trigger generato quando un oggetto UPDATE viene eseguito sulla tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsQuotedIdentOn Funzione Transact-SQL, procedura Transact-SQL, trigger Transact-SQL, vista Impostazione di in fase di QUOTED_IDENTIFIER creazione.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsStartup Procedura Procedura di avvio.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsTriggerDisabled Trigger Trigger disabilitato.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsTriggerNotForRepl Trigger Trigger definito come NOT FOR REPLICATION.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsUpdateTrigger Trigger UPDATE Grilletto.

1 = Vero

0 = Falso

Tipo di dati di base: int
ExecIsWithNativeCompilation Procedura Transact-SQL Si applica a: SQL Server 2014 (12.x) e versioni successive.

La stored procedure è compilata in modo nativo.

1 = Vero

0 = Falso

Tipo di dati di base: int
HasAfterTrigger Tabella o vista La tabella o la vista ha un AFTER trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
HasDeleteTrigger Tabella o vista La tabella o la vista ha un DELETE trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
HasInsertTrigger Tabella o vista La tabella o la vista ha un INSERT trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
HasInsteadOfTrigger Tabella o vista La tabella o la vista ha un INSTEAD OF trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
HasUpdateTrigger Tabella o vista La tabella o la vista ha un UPDATE trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsAnsiNullsOn Funzione Transact-SQL, procedura Transact-SQL, tabella, trigger Transact-SQL, vista Specifica che l'impostazione ANSI NULLS dell'opzione per la tabella è ON, ovvero tutti i confronti con 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 = Vero

0 = Falso

Tipo di dati di base: int
IsCheckCnst Qualsiasi oggetto con ambito schema CHECK costrizione.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsConstraint Qualsiasi oggetto con ambito schema Vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsDefault Qualsiasi oggetto con ambito schema Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

Valore predefinito associato.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsDefaultCnst Qualsiasi oggetto con ambito schema DEFAULT costrizione.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsDeterministic Funzioni con valori scalari e 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. In SQL Server 2005 (9.x) l'output in formato offuscato non è visibile direttamente in alcuna vista del catalogo. Gli utenti che non hanno accesso a tabelle di sistema o file del database non possono recuperare il testo offuscato. Tuttavia, il testo è disponibile per gli utenti che possono accedere alle tabelle di sistema tramite la connessione diagnostica per gli amministratori di database o accedere direttamente ai file di 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 = Vero

0 = Falso

Tipo di dati di base: int
IsExtendedProc Qualsiasi oggetto con ambito schema Procedura estesa.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsForeignKey Qualsiasi oggetto con ambito schema FOREIGN KEY costrizione.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsIndexed Tabella o vista Tabella o vista che include un indice.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsIndexable Tabella o vista Tabella o vista in cui è possibile creare un indice.

1 = Vero

0 = Falso

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 = Vero

0 = Falso

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 PRIMARY KEY costrizione.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsProcedure Qualsiasi oggetto con ambito schema Procedura.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsQuotedIdentOn CHECK vincolo, DEFAULT definizione, funzione Transact-SQL, procedura Transact-SQL, tabella, Transact-SQL trigger, vista Specifica che l'impostazione dell'identificatore tra virgolette per l'oggetto è ON, ovvero gli identificatori delimitatori tra virgolette doppie in tutte le espressioni coinvolte nella definizione dell'oggetto.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsQueue Qualsiasi oggetto con ambito schema Coda di Service Broker.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsReplProc Qualsiasi oggetto con ambito schema Procedura di replica.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsRule Qualsiasi oggetto con ambito schema Regola associata.

1 = Vero

0 = Falso

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, procedura, vista Funzione o vista associata a schema creata tramite SCHEMABINDING.

1 = Associata a uno schema

0 = Non associata a schema

Tipo di dati di base: int
IsSystemTable Tabella Tabella di sistema.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsSystemVerified Colonna calcolata, funzione, tipo definito dall'utente, vista Le proprietà di precisione e determinismo dell'oggetto possono essere verificate da SQL Server.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsTable Tabella Tabella.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsTableFunction Funzione Funzione con valori di tabella.

1 = Funzione con valori di tabella

0 = Funzione senza valori di tabella

Tipo di dati di base: int
IsTrigger Qualsiasi oggetto con ambito schema Trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsUniqueCnst Qualsiasi oggetto con ambito schema UNIQUE costrizione.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsUserTable Tabella Tabella definita dall'utente.

1 = Vero

0 = Falso

Tipo di dati di base: int
IsView Visualizza Vista.

1 = Vero

0 = Falso

Tipo di dati di base: int
OwnerId Qualsiasi oggetto con ambito schema Proprietario dell'oggetto.

Nota: Il proprietario dello schema non deve necessariamente corrispondere al proprietario dell'oggetto. Ad esempio, gli oggetti figlio (quelli in cui parent_object_id non è Null) restituiranno sempre lo stesso ID proprietario dell'elemento padre.

Diverso da null = ID utente del database del proprietario dell'oggetto.

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

Tipo di dati di base: int
SchemaId Qualsiasi oggetto con ambito schema ID dello schema associato all'oggetto.

Diverso da null = ID schema dell'oggetto.

Tipo di dati di base: int
SystemDataAccess Funzione o vista L'oggetto accede ai dati di sistema, ai cataloghi di sistema o alle tabelle di sistema virtuali nell'istanza locale di SQL Server.

0 = Nessuna

1 = Lettura

Tipo di dati di base: int
TableDeleteTrigger Tabella La tabella include un DELETE trigger.

>1 = ID del primo trigger del tipo specificato.

Tipo di dati di base: int
TableDeleteTriggerCount Tabella La tabella contiene il numero specificato di DELETE trigger.

Non null = Numero di DELETE trigger

Tipo di dati di base: int
TableFullTextMergeStatus Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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 Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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

1 = VERO

0 = FALSO

Tipo di dati di base: int
TableFulltextCatalogId Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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 Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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

1 = VERO

0 = FALSO

Tipo di dati di base: int
TableFulltextDocsProcessed Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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 appartenenti a un unico documento da indicizzare.

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

> 0 = Uno delle opzioni seguenti (A o B): A) Numero di documenti elaborati da operazioni di inserimento o aggiornamento dopo l'avvio del popolamento con rilevamento delle modifiche completo, incrementale o manuale; B) Numero di righe elaborate da operazioni di inserimento o aggiornamento dopo l'attivazione del rilevamento delle modifiche con popolamento dell'indice di aggiornamento in background, la modifica dello schema dell'indice full-text, la ricompilazione del catalogo full-text o il riavvio dell'istanza di SQL Server e così via.

NULL = La tabella non dispone di un indice full-text.

Tipo di dati di base: int

Note Questa proprietà non monitora né conta le righe eliminate.
TableFulltextFailCount Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

Numero di righe non indicizzate dalla ricerca full-text.

0 = Popolamento completato.

>0 = Una delle opzioni seguenti (A o B): A) Numero di documenti non indicizzati dopo l'avvio del popolamento di aggiornamento con rilevamento delle modifiche completo, incrementale e manuale; B) Per il rilevamento delle modifiche con aggiornamento indice in background, numero di righe non indicizzate dopo l'inizio del popolamento 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 dispone di un indice Full-Text.

Tipo di dati di base: int
TableFulltextItemCount Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

Non null = Numero di righe indicizzate correttamente.

NULL = La tabella non dispone di un indice full-text.

Tipo di dati di base: int
TableFulltextKeyColumn Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

ID della colonna associata all'indice univoco costituito da una sola colonna che fa parte della definizione di un indice full-text e di un indice semantico.

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

Tipo di dati di base: int
TableFulltextPendingChanges Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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

0 = Il rilevamento delle modifiche non è abilitato.

NULL = La tabella non dispone di un indice full-text.

Tipo di dati di base: int
TableFulltextPopulateStatus Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

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.

6 = Si è verificato un errore. Esaminare il registro di popolamento per i dettagli. Per altre informazioni, vedere la sezione Risoluzione di errori in un popolamento full-text (ricerca per indicizzazione) di Populare gli indici full-text.

Tipo di dati di base: int
TableFullTextSemanticExtraction Tabella Si applica a: SQL Server 2012 (11.x) e versioni successive.

La tabella è abilitata per l'indicizzazione semantica.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasActiveFulltextIndex Tabella Si applica a: SQL Server 2008 (10.0.x) e versioni successive.

La tabella include un indice full-text attivo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasCheckCnst Tabella La tabella ha un CHECK vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasClustIndex Tabella La tabella include un indice cluster.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasDefaultCnst Tabella La tabella ha un DEFAULT vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasDeleteTrigger Tabella La tabella include un DELETE trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasForeignKey Tabella La tabella ha un FOREIGN KEY vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasForeignRef Tabella La tabella fa riferimento a un FOREIGN KEY vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasIdentity Tabella La tabella include una colonna Identity.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasIndex Tabella La tabella include un indice di qualsiasi tipo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasInsertTrigger Tabella L'oggetto ha un INSERT trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasNonclustIndex Tabella La tabella include un indice non cluster.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasPrimaryKey Tabella La tabella include una chiave primaria.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasRowGuidCol Tabella La tabella include un oggetto ROWGUIDCOL per una colonna uniqueidentifier .

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasTextImage Tabella La tabella include una colonna text, ntext, o immagine.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasTimestamp Tabella La tabella include una colonna timestamp.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasUniqueCnst Tabella La tabella ha un UNIQUE vincolo.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasUpdateTrigger Tabella L'oggetto ha un UPDATE trigger.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableHasVarDecimalStorageFormat Tabella Tabella abilitata per il formato di archiviazione vardecimal.

1 = Vero

0 = Falso
TableInsertTrigger Tabella La tabella ha un INSERT trigger.

>1 = ID del primo trigger del tipo specificato.

Tipo di dati di base: int
TableInsertTriggerCount Tabella La tabella contiene il numero specificato di INSERT trigger.

>0 = Numero di INSERT trigger.

Tipo di dati di base: int
TableIsFake Tabella La tabella non è reale, ma viene creata internamente su richiesta dal motore di database.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableIsLockedOnBulkLoad Tabella La tabella è bloccata perché un processo o BULK INSERT bcp.

1 = Vero

0 = Falso

Tipo di dati di base: int
TableIsMemoryOptimized Tabella Si applica a: SQL Server 2014 (12.x) e versioni successive.

La tabella prevede l'ottimizzazione per la memoria

1 = Vero

0 = Falso

Tipo di dati di base: int

Per altre informazioni, vedere In-Memory panoramica oltp e scenari di utilizzo.
TableIsPinned Tabella La tabella è bloccata per essere mantenuta nella cache dei dati.

0 = Falso

Questa funzionalità non è supportata in SQL Server 2005 (9.x) o versioni successive.
TableTextInRowLimit Tabella Per la tabella è stata impostata l'opzione text in row.

> 0 = Numero massimo di byte consentito per l'opzione Text in row.

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

Tipo di dati di base: int
TableUpdateTrigger Tabella La tabella ha un UPDATE trigger.

> 1 = ID del primo trigger del tipo specificato.

Tipo di dati di base: int
TableUpdateTriggerCount Tabella La tabella ha il numero specificato di UPDATE trigger.

> 0 = Numero di UPDATE trigger.

Tipo di dati di base: int
UserDataAccess Funzione o vista L'oggetto accede ai dati utente (tabelle utente) nell'istanza locale di SQL Server.

1 = Lettura

0 = Nessuna

Tipo di dati di base: int
TableHasColumnSet Tabella Indica se la tabella include un set di colonne.

0 = Falso

1 = Vero

Per altre informazioni, vedere Usare set di colonne.
Cardinality Tabella (definita dal sistema o dall'utente), vista o indice Si applica a: SQL Server 2012 (11.x) e versioni successive.

Numero di righe nell'oggetto specificato.
TableTemporalType Tabella Si applica a: SQL Server 2016 (13.x) e versioni successive.

Specifica il tipo di tabella.

0 = tabella non temporale

1 = tabella di cronologia per tabella con controllo delle versioni di sistema

2 = tabella temporale con controllo delle versioni di sistema

Tipi restituiti

sql_variant

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione 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. Ciò significa che le funzioni predefinite di creazione di metadati, ad esempio OBJECTPROPERTYEX, potrebbero restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere Configurazione della visibilità dei metadati.

Osservazioni:

Il motore di database presuppone che il valore object_id sia specificato nel contesto di database corrente. Una query che fa riferimento a un object_id in un altro database restituisce o risultati NULL non corretti. Nella query seguente, ad esempio, il contesto del database corrente è il master database. Il motore di database tenta di restituire il valore della proprietà per il object_id specificato in tale database anziché il database specificato nella query. La query restituisce risultati non corretti perché la vista vEmployee non si trova nel master database.

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

OBJECTPROPERTYEX(view_id, 'IsIndexable') potrebbe utilizzare risorse computer significative perché la valutazione della proprietà IsIndexable richiede l'analisi della definizione di visualizzazione, la normalizzazione e l'ottimizzazione parziale. 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 altre informazioni, vedere CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') restituisce un valore pari a 1 (true) quando viene aggiunta almeno una colonna di una tabella 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 altre informazioni, vedere Configurazione della visibilità dei metadati.

Esempi

R. Trovare il tipo di base di un oggetto

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

USE AdventureWorks2022;
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. Restituire un valore della proprietà

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

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

C. Trovare tabelle con un vincolo FOREIGN KEY

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

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

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

D. Ricerca del tipo di base di un oggetto

Nell'esempio seguente viene restituito il tipo di base dell'oggetto dbo.DimReseller.

-- Uses AdventureWorks

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

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

BaseType
--------
U