fn_listextendedproperty (Transact-SQL)

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

Icona di collegamento a un argomentoConvenzioni della 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 è di tipo 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 è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER e NULL.

    Nota importanteImportante

    I tipi USER e TYPE come tipi di livello 0 verranno rimossi in una versione futura di SQL Server. Evitare pertanto di utilizzarli in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui sono stati implementati. 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 è di tipo sysname e il 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 è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION e NULL.

    [!NOTA]

    Il valore predefinito viene mappato a NULL e il parametro 'default' viene mappato al tipo di oggetto DEFAULT.

  • {default | 'level1_object_name' |NULL }
    Nome del tipo di oggetto di livello 1 specificato. level1_object_name è di tipo sysname e il 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 è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono DEFAULT, default (mappato a NULL) e NULL. I possibili valori per level2_object_type sono COLUMN, PARAMETER, INDEX, CONSTRAINT, TRIGGER e NULL.

  • { default | 'level2_object_name' |NULL }
    Nome del tipo di oggetto di livello 2 specificato. level2_object_name è di tipo sysname e il 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

value

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 di property_name è NULL o default, fn_listextendedproperty restituisce tutte le proprietà dell'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.

Autorizzazioni

Le autorizzazioni per elencare le proprietà estese degli oggetti variano in base al tipo di oggetto. Per l'elenco completo delle autorizzazioni, vedere Utilizzo di proprietà estese su oggetti di database.

Esempi

A. Visualizzazione delle proprietà estese in un database

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

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

Set di risultati:

objtype    objname     name            value
---------  ---------   -----------     ----------------------------
NULL       NULL        MS_Description  AdventureWorks 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 delle colonne nella tabella ScrapReason inclusa nello schema Production.

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

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 di tutte le tabelle incluse nello schema Sales.

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