Share via


sys.fn_listextendedproperty (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Devuelve valores de propiedad extendidos de objetos de bases de datos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

{ default | 'property_name' | NULL}
Es el nombre de la propiedad. property_name es sysname. Las entradas válidas son default, NULL o un nombre de propiedad.

{ default | 'level0_object_type' | NULL}
Es el usuario o el tipo definido por el usuario. level0_object_type es varchar(128), con un valor predeterminado de NULL.
Las entradas válidas son:

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

Importante

Los tipos USER y TYPE como tipos de nivel 0 se quitarán en una versión futura de SQL Server. Evite utilizar estas características en los nuevos trabajos de programación y planee modificar las aplicaciones que actualmente las utilizan. En lugar de USER, use SCHEMA como tipo de nivel 0. Para TYPE, use SCHEMA como tipo de nivel 0 y TYPE como tipo de nivel 1.

{ default | 'level0_object_name' | NULL }
Nombre del tipo de objeto de nivel 0 especificado. level0_object_name es sysname con un valor predeterminado de NULL. Las entradas válidas son default, NULL o un nombre de objeto.

{ default | 'level1_object_type' | NULL }
Tipo de objeto de nivel 1. level1_object_type es varchar(128) con un valor predeterminado de NULL.
Las entradas válidas son:

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

Nota

El valor predeterminado se asigna a NULL y default al tipo de objeto DEFAULT.

{default | 'level1_object_name' | NULL }
Nombre del tipo de objeto de nivel 1 especificado. level1_object_name es sysname con un valor predeterminado de NULL. Las entradas válidas son default, NULL o un nombre de objeto.

{ default | 'level2_object_type' | NULL }
Es el tipo de objeto de nivel 2. level2_object_type es varchar(128) con un valor predeterminado de NULL.
Las entradas válidas son:

  • DEFAULT
  • default (se asigna a NULL)
  • NULL. Las entradas válidas para level2_object_type son:
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • PARÁMETRO
  • TRIGGER
  • NULL

{ default | 'level2_object_name' | NULL }
Es el nombre del tipo de objeto de nivel 2 especificado. level2_object_name es sysname con un valor predeterminado de NULL. Las entradas válidas son default, NULL o un nombre de objeto.

Tablas devueltas

Este es el formato de las tablas que devuelve fn_listextendedproperty.

Nombre de la columna Tipo de datos
objtype sysname
objname sysname
name sysname
value sql_variant

Si la tabla devuelta está vacía, el objeto no tiene propiedades extendidas o el usuario no tiene permisos para mostrar las propiedades extendidas del objeto. Cuando se devuelven propiedades extendidas de la propia base de datos, el valor de las columnas objtype y objname será NULL.

Comentarios

Si el valor de property_name es NULL o predeterminado, fn_listextendedproperty devuelve todas las propiedades del objeto especificado.

Cuando se especifica el tipo de objeto y el valor del nombre de objeto correspondiente es NULL o el valor predeterminado, fn_listextendedproperty devuelve todas las propiedades extendidas de todos los objetos del tipo especificado.

Los objetos se distinguen en función de sus niveles, siendo el nivel 0 el más alto y el nivel 2 el más bajo. Si se especifica el nombre y el tipo de un objeto de nivel inferior (nivel 1 ó 2), se deben proporcionar valores distintos de NULL o default para el nombre y el tipo del objeto primario. En caso contrario, la función devuelve un conjunto de resultados vacío.

objname se ha corregido como Latin1_General_CI_AI. Sin embargo, puede solucionarlo invalidando la intercalación en comparación.

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

Permisos

Los permisos necesarios para mostrar las propiedades extendidas de los objetos varían en función del tipo de objeto.

Ejemplos

A. Mostrar las propiedades extendidas de una base de datos

En el ejemplo siguiente se muestran todas las propiedades extendidas establecidas en el propio objeto de base de datos.

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

El conjunto de resultados es el siguiente:

objtype objname name value

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

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Mostrar las propiedades extendidas de todas las columnas de una tabla

En el ejemplo siguiente se enumeran las propiedades extendidas de las columnas de la ScrapReason tabla. que se incluye en el esquema Production.

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

El conjunto de resultados es el siguiente:

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. Mostrar las propiedades extendidas de todas las tablas de un esquema

En el ejemplo siguiente se enumeran las propiedades extendidas de todas las tablas contenidas en el Sales esquema.

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

Consulte también

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