sys.fn_listextendedproperty (Transact-SQL)

Si applica a:SQL ServerDatabase SQL diAzure Istanza gestita di SQL di Azure

Restituisce i valori delle proprietà estese degli oggetti di database.

Convenzioni di sintassi Transact-SQL

Sintassi

  
fn_listextendedproperty (   
    { default | 'property_name' | NULL }   
  , { default | 'level0_object_type' | NULL }   
  , { default | 'level0_object_name' | NULL }   
  , { default | 'level1_object_type' | NULL }   
  , { default | 'level1_object_name' | NULL }   
  , { default | 'level2_object_type' | NULL }   
  , { default | 'level2_object_name' | NULL }   
  )   

Argomenti

{ default | 'property_name' | NULL}
Nome della proprietà. property_name è sysname. I possibili valori sono default, NULL o un nome di proprietà.

{ default | 'level0_object_type' | NULL}
Utente o tipo definito dall'utente. level0_object_type è varchar(128), con valore predefinito NULL.
Gli input validi sono:

  • ASSEMBLY
  • CONTRACT
  • EVENT NOTIFICATION
  • FILEGROUP
  • MESSAGE TYPE
  • PARTITION FUNCTION
  • PARTITION SCHEME
  • REMOTE SERVICE BINDING
  • ROUTE
  • SCHEMA
  • SERVICE
  • TRIGGER
  • TYPE
  • USER
  • NULL

Importante

USER e TYPE come tipi di livello 0 verranno rimossi in una versione futura di SQL Server. Evitare pertanto di utilizzarle in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui sono state implementate. Utilizzare SCHEMA come tipo di livello 0 anziché USER. Per TYPE utilizzare SCHEMA come tipo di livello 0 e TYPE come tipo di livello 1.

{ default | 'level0_object_name' | NULL }
Nome del tipo di oggetto di livello 0 specificato. level0_object_name è sysname con valore predefinito NULL. I possibili valori sono default, NULL o un nome di oggetto.

{ default | 'level1_object_type' | NULL }
Tipo di oggetto di livello 1. level1_object_type è varchar(128) con valore predefinito NULL.
Gli input validi sono:

  • AGGREGATE
  • DEFAULT
  • FUNCTION
  • NOME FILE LOGICO
  • PROCEDURE
  • QUEUE
  • RULE
  • SYNONYM
  • TABLE
  • TYPE
  • VIEW
  • XML SCHEMA COLLECTION
  • NULL

Nota

Per il valore predefinito viene eseguito il mapping a NULL e per il parametro 'default' viene eseguito il mapping al tipo di oggetto DEFAULT.

{default | 'level1_object_name' |NULL }
Nome del tipo di oggetto di livello 1 specificato. level1_object_name è sysname con valore predefinito NULL. I possibili valori sono default, NULL o un nome di oggetto.

{ default | 'level2_object_type' |NULL }
Tipo di oggetto di livello 2. level2_object_type è varchar(128) con valore predefinito NULL.
Gli input validi sono:

  • DEFAULT
  • default (esegue il mapping a NULL)
  • NULL. Gli input validi per level2_object_type sono:
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • PARAMETER
  • TRIGGER
  • NULL

{ default | 'level2_object_name' |NULL }
Nome del tipo di oggetto di livello 2 specificato. level2_object_name è sysname con valore predefinito NULL. I possibili valori sono default, NULL o un nome di oggetto.

Tabelle restituite

Il formato delle tabelle restituite da fn_listextendedproperty è il seguente.

Nome colonna Tipo di dati
objtype sysname
objname sysname
name sysname
valore sql_variant

Se la tabella restituita è vuota, significa che all'oggetto non sono associate proprietà estese o che l'utente non è autorizzato a elencare le proprietà estese dell'oggetto. In caso di restituzione di proprietà estese per il database, le colonne objtype e objname saranno NULL.

Osservazioni:

Se il valore per property_name è NULL o predefinito, fn_listextendedproperty restituisce tutte le proprietà per l'oggetto specificato.

Se è specificato il tipo di oggetto e il valore del nome oggetto corrispondente è NULL o default, fn_listextendedproperty restituisce tutte le proprietà estese di tutti gli oggetti del tipo specificato.

Gli oggetti si differenziano in base al livello compreso tra 0, il livello superiore, e 2, il livello inferiore. Se si specificano il nome e il tipo di un oggetto di livello inferiore (1 o 2), per il tipo e il nome dell'oggetto padre è necessario assegnare valori diversi da NULL o dal valore predefinito. In caso contrario, la funzione restituisce un set di risultati vuoto.

objname viene corretto come Latin1_General_CI_AI. Tuttavia, è possibile risolvere questo problema eseguendo l'override delle regole di confronto in confronto.

SELECT o.[object_id] AS 'table_id', o.[name] 'table_name',  
0 AS 'column_order', NULL AS 'column_name', NULL AS 'column_datatype',  
NULL AS 'column_length', Cast(e.value AS varchar(500)) AS 'column_description'  
FROM AdventureWorks.sys.objects AS o  
LEFT JOIN sys.fn_listextendedproperty(N'MS_Description', N'user',N'HumanResources',N'table', N'Employee', null, default) AS e  
    ON o.name = e.objname COLLATE SQL_Latin1_General_CP1_CI_AS  
WHERE o.name = 'Employee';  

Autorizzazioni

Le autorizzazioni per elencare le proprietà estese degli oggetti variano in base al tipo di oggetto.

Esempi

R. Visualizzazione delle proprietà estese in un database

Nell'esempio seguente vengono visualizzate tutte le proprietà estese impostate in un oggetto di database.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty(default, default, default, default, default, default, default);  
GO  

Questo è il set di risultati.

objtype objname name value

--------- --------- ----------- ----------------------------

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Visualizzazione delle proprietà estese in tutte le colonne di una tabella

Nell'esempio seguente vengono elencate le proprietà estese per le colonne della ScrapReason tabella. inclusa nello schema Production.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);  
GO  

Questo è il set di risultati.

objtype objname name value

------- ----------- ------------- ------------------------

COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.

COLUMN Name MS_Description Failure description.

COLUMN ModifiedDate MS_Description Date the record was last updated.

(3 row(s) affected)

C. Visualizzazione delle proprietà estese in tutte le tabelle incluse in uno schema

Nell'esempio seguente vengono elencate le proprietà estese per tutte le tabelle contenute nello Sales schema.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);  
GO  

Vedi anche

sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)