fn_listextendedproperty (Transact-SQL)
Gibt erweiterte Eigenschaftswerte von Datenbankobjekten zurück.
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
{ default | 'property_name' | NULL}
Der Name der Eigenschaft. property_name ist sysname. Eine gültige Eingabe ist default, NULL oder ein Eigenschaftsname.{ default | 'level0_object_type' | NULL}
Der Benutzer oder der benutzerdefinierte Typ. level0_object_type ist vom Datentyp varchar(128) und hat den 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 und NULL.Wichtig USER und TYPE als Typen der Ebene 0 werden in einer zukünftigen Version von SQL Server nicht mehr unterstützt. Vermeiden Sie die Verwendung dieser Funktionen bei neuen Entwicklungsarbeiten, 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 SCHEMA statt TYPE als Typ der Ebene 0 und TYPE als Typ der Ebene 1.
{ default | 'level0_object_name' | NULL }
Der Name des angegebenen Typs der Ebene 0. level0_object_name ist vom Datentyp sysname; der Standardwert ist NULL. Gültige Eingaben sind default, NULL oder ein Objektname.{ default | 'level1_object_type' | NULL }
Der Typ des Objekts der Ebene 0. level1_object_type ist vom Datentyp varchar(128) und hat den Standardwert NULL. Gültige Eingaben sind AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION und NULL.Hinweis default ergibt NULL, und 'default' ergibt den Objekttyp DEFAULT.
{default | 'level1_object_name' |NULL }
Der Name des angegebenen Typs der Ebene 1. level1_object_name ist vom Datentyp sysname ; der Standardwert ist NULL. Gültige Eingaben sind default, NULL oder ein Objektname.{ default | 'level2_object_type' |NULL }
Der Typ des Objekts der Ebene 2. level2_object_type ist vom Datentyp varchar(128) und hat den Standardwert NULL. Gültige Eingaben sind DEFAULT, default (ergibt NULL) und NULL. Gültige Eingabewerte für level2_object_type sind COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER und NULL.{ default | 'level2_object_name' |NULL }
Der Name des angegebenen Typs der Ebene 2. level2_object_name ist vom Datentyp sysname; der Standardwert ist 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 |
Wert |
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.
Hinweise
Wenn property_name den Wert NULL oder default aufweist, 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.
Berechtigungen
Die Berechtigungen zum Auflisten der erweiterten Eigenschaften von Objekten hängen vom Objekttyp ab. Eine vollständige Liste der Berechtigungen finden Sie unter Verwenden von erweiterten Eigenschaften für Datenbankobjekte.
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 AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
Dies 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 AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO
Dies 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 im Sales -Schema aufgelistet.
USE AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO