fn_listextendedproperty (Transact-SQL)

Devuelve valores de propiedades extendidas de los objetos de base de datos.

Icono de vínculo a temasConvenciones 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 de tipo 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 de tipo varchar(128) y su valor predeterminado es 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 y NULL.

    ms179853.note(es-es,SQL.90).gifImportante:
    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 }
    Es el nombre del tipo de objeto de nivel 0 especificado. level0_object_name es de tipo sysname y su valor predeterminado es NULL. Las entradas válidas son default, NULL o un nombre de objeto.
  • { default | 'level1_object_type' | NULL }
    Es el tipo de objeto de nivel 1. level1_object_type es de tipo varchar(128) y su valor predeterminado es NULL. Las entradas válidas son AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION y NULL.

    [!NOTA] El valor predeterminado se asigna a NULL y default al tipo de objeto DEFAULT.

  • {default | 'level1_object_name' |NULL }
    Es el nombre del tipo de objeto de nivel 1 especificado. level1_object_name es de tipo sysname y su valor predeterminado es 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 de tipo varchar(128) y su valor predeterminado es NULL. Las entradas válidas son DEFAULT, default (se asigna a NULL) y NULL. Las entradas válidas para level2_object_type son COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER y NULL.
  • { default | 'level2_object_name' |NULL }
    Es el nombre del tipo de objeto de nivel 2 especificado. level2_object_name es de tipo sysname y su valor predeterminado es NULL. Las entradas válidas son default, NULL o un nombre de objeto.

Tablas devueltas

Éste es el formato de las tablas que devuelve fn_listextendedproperty.

Nombre de 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.

Notas

Si el valor de property_name es NULL o el valor 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.

Permisos

Los permisos necesarios para mostrar las propiedades extendidas de los objetos varían en función del tipo de objeto. Para obtener una lista completa de permisos, vea Usar propiedades extendidas en objetos de base de datos.

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 AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO

Éste es el conjunto de resultados.

objtype    objname     name            value
---------  ---------   -----------     ----------------------------
NULL       NULL        MS_Description  AdventureWorks Sample OLTP Database

(1 row(s) affected)

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

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

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

Éste es el conjunto de resultados.

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 muestran las propiedades extendidas de todas las tablas incluidas en el esquema Sales .

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

Vea también

Referencia

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

Otros recursos

Ver las propiedades extendidas

Ayuda e información

Obtener ayuda sobre SQL Server 2005