sys.fn_listextendedproperty (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt erweiterte Eigenschaftswerte von Datenbankobjekten zurück.

Transact-SQL-Syntaxkonventionen

Syntax

  
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 }   
  )   

Argumente

{ standard | 'property_name' | NULL}
Der Name der Eigenschaft. property_name ist sysname. Eine gültige Eingabe ist default, NULL oder ein Eigenschaftsname.

{ standard | "level0_object_type" | NULL}
Der Benutzer oder benutzerdefinierte Typ. level0_object_type ist varchar(128) mit dem Standardwert NULL.
Gültige Eingaben sind:

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

Wichtig

Die Typen USER und TYPE as-0 werden in einer zukünftigen Version von SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktionen zurzeit verwenden. Verwenden Sie SCHEMA anstelle von USER als Typ der Ebene 0. Verwenden Sie für TYPE als Typ der Ebene 0 SCHEMA und TYPE als Typ der Ebene 1.

{ standard | 'level0_object_name' | NULL }
Der Name des angegebenen Objekttyps der Ebene 0. level0_object_name ist sysname mit dem Standardwert NULL. Eine gültige Eingabe ist default, NULL oder ein Objektname.

{ standard | 'level1_object_type' | NULL }
Der Typ des Objekts der Ebene 1. level1_object_type ist varchar(128) mit dem Standardwert NULL.
Gültige Eingaben sind:

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

Hinweis

default ergibt NULL, und 'default' ergibt den Objekttyp DEFAULT.

{default | 'level1_object_name' | NULL }
Der Name des angegebenen Objekttyps der Ebene 1. level1_object_name ist sysname mit dem Standardwert NULL. Eine gültige Eingabe ist default, NULL oder ein Objektname.

{ standard | "level2_object_type" | NULL }
Der Typ des Objekts der Ebene 2. level2_object_type ist varchar(128) mit dem Standardwert NULL.
Gültige Eingaben sind:

  • DEFAULT
  • standard (entspricht NULL)
  • NULL. Gültige Eingaben für level2_object_type sind:
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • PARAMETER
  • TRIGGER
  • NULL

{ standard | "level2_object_name" | NULL }
Der Name des angegebenen Objekttyps der Ebene 2. level2_object_name ist sysname mit dem Standardwert NULL. Eine gültige Eingabe ist default, NULL oder ein Objektname.

Zurückgegebene Tabellen

Dies ist das Format der von fn_listextendedproperty zurückgegebenen Tabellen.

Spaltenname Datentyp
objtype sysname
objname sysname
name sysname
value sql_variant

Wenn die zurückgegebene Tabelle leer ist, besitzt das Objekt keine erweiterten Eigenschaften oder der Benutzer hat keine Berechtigungen zum Auflisten der erweiterten Eigenschaften des Objekts. Beim Zurückgeben erweiterter Eigenschaften für die Datenbank selbst weisen die Spalten objtype und objname den Wert NULL auf.

Bemerkungen

Wenn der Wert für property_name NULL oder Standard ist, gibt fn_listextendedproperty alle Eigenschaften für das angegebene Objekt zurück.

Wenn der Objekttyp angegeben ist und der Wert des entsprechenden Objektnamens NULL oder default ist, gibt fn_listextendedproperty alle erweiterten Eigenschaften für alle Objekte des angegebenen Typs zurück.

Die Objekte werden nach Ebenen unterschieden, wobei Ebene 0 die höchste und Ebene 2 die niedrigste ist. Wenn ein Objekttyp und -name einer niedrigen Ebene (Ebene 1 oder 2) angegeben sind, sollten die Werte für den Objekttyp und -namen des übergeordneten Objekts nicht NULL oder default sein. Andernfalls gibt die Funktion ein leeres Resultset zurück.

objname ist als Latin1_General_CI_AI behoben. Sie können dies jedoch umgehen, indem Sie die Sortierung im Vergleich überschreiben.

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';  

Berechtigungen

Die Berechtigungen zum Auflisten der erweiterten Eigenschaften von Objekten hängen vom Objekttyp ab.

Beispiele

A. Anzeigen erweiterter Eigenschaften für eine Datenbank

Im folgenden Beispiel werden alle erweiterten Eigenschaften angezeigt, die für das Datenbankobjekt selbst festgelegt wurden.

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

Hier ist das Resultset.

objtype objname name value

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

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Anzeigen erweiterter Eigenschaften für alle Spalten in einer Tabelle

Im folgenden Beispiel werden erweiterte Eigenschaften für Spalten in der ScrapReason Tabelle aufgelistet. Diese ist im Production-Schema enthalten.

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

Hier ist das Resultset.

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. Anzeigen erweiterter Eigenschaften für alle Tabellen in einem Schema

Im folgenden Beispiel werden erweiterte Eigenschaften für alle Tabellen aufgelistet, die Sales im Schema enthalten sind.

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

Weitere Informationen

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