OBJECTPROPERTYEX (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
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).
Convenzioni relative alla 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 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, 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 la property specificata oppure il chiamante non dispone dell'autorizzazione necessaria 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 è 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 abilitato 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 |
ExecIsWithNativeCompilation | Procedura Transact-SQL | Si applica a: SQL Server 2014 (12.x) e versioni successive. La stored procedure è compilata in modo nativo. 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 | Si applica a: SQL Server 2008 (10.0.x) e versioni successive. 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 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. 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 predefinita, 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, procedura, vista | Funzione o vista associata a schema creata con la clausola SCHEMABINDING. 1 = Associata a uno 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à di precisione e determinismo 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 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 = 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 | Visualizza | Vista. 1 = True 0 = False 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 (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 = Nessuna 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 | 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 = TRUE 0 = FALSE 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 = TRUE 0 = FALSE 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 include 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 include un indice full-text. Tipo di dati di base: int |
TableFulltextItemCount | Tabella | Si applica a: SQL Server 2008 (10.0.x) e versioni successive. 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 | 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 include 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 = True 0 = False 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 = 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 text, ntext, o immagine. 1 = True 0 = False Tipo di dati di base: int |
TableHasTimestamp | Tabella | La tabella include una colonna 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 | Tabella abilitata per 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 dal 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 |
TableIsMemoryOptimized | Tabella | Si applica a: SQL Server 2014 (12.x) e versioni successive. La tabella prevede l'ottimizzazione per la memoria 1 = True 0 = False Tipo di dati di base: int Per altre informazioni, vedere OLTP in memoria (ottimizzazione per la memoria). |
TableIsPinned | Tabella | La tabella è bloccata per essere mantenuta nella cache dei dati. 0 = False 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 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 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 = False 1 = True Per altre informazioni, vedere Usare set di colonne. |
Cardinalità | 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 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 altre informazioni, vedere Metadata Visibility Configuration.
Osservazioni:
Il motore di database presuppone che il valore object_id sia specificato 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. Il motore di database tenterà di restituire il valore della proprietà relativo al 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'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO
OBJECTPROPERTYEX(view_id, 'IsIndexable') può richiedere una quantità elevata di memoria perché la valutazione della proprietà IsIndexable richiede l'analisi della definizione, normalizzazione e 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 altre 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 altre informazioni, vedere Metadata Visibility Configuration.
Esempi
R. Ricerca del tipo di base di un oggetto
Nell'esempio seguente viene creato un oggetto SYNONYM MyEmployeeTable
per la tabella Employee
nel database AdventureWorks2022
e quindi viene restituito il tipo di base di 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. Restituzione del valore di una proprietà
Nell'esempio seguente viene restituito il numero di trigger UPDATE per la tabella specificata.
USE AdventureWorks2022;
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 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
Vedi anche
CREATE SYNONYM (Transact-SQL)
Funzioni per i metadati (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)
OBJECT_ID (Transact-SQL)
OBJECT_NAME (Transact-SQL)
sys.objects (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
TYPEPROPERTY (Transact-SQL)