fn_listextendedproperty (Transact-SQL)

Retorna valores de propriedade estendidos de objetos de banco de dados.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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}
    É o nome da propriedade. property_name é sysname. As entradas válidas são default, NULL ou um nome de propriedade.

  • { default | 'level0_object_type' | NULL}
    É o usuário ou o tipo definido pelo usuário. level0_object_type é varchar(128), com um padrão NULL. As entradas válidas são ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, TRIGGER, TYPE, USER e NULL.

    Observação importanteImportante

    USER e TYPE como tipos de nível 0 serão removidos em uma versão futura do SQL Server. Evite usar esses recursos em novo trabalho de desenvolvimento e planeje modificar os aplicativos que atualmente os utilizam. Use SCHEMA como o tipo de nível 0 em vez de USER. Para TYPE, use SCHEMA como o tipo de nível 0 e TYPE como o tipo de nível 1.

  • { default | 'level0_object_name' | NULL }
    É o nome do tipo de objeto de nível 0 especificado. level0_object_name é sysname com um padrão NULL. As entradas válidas são default, NULL ou um nome de objeto.

  • { default | 'level1_object_type' | NULL }
    É o tipo de objeto de nível 1. level1_object_type é varchar(128) com um padrão NULL. As entradas válidas são AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION e NULL.

    ObservaçãoObservação

    Padrão é mapeado para NULL e 'default' é mapeado para o tipo de objeto DEFAULT.

  • {default | 'level1_object_name' |NULL }
    É o nome do tipo de objeto de nível 1 especificado. level1_object_name é sysname com um padrão NULL. As entradas válidas são default, NULL ou um nome de objeto.

  • { default | 'level2_object_type' |NULL }
    É o tipo de objeto de nível 2. level2_object_type é varchar(128) com um padrão NULL. As entradas válidas são DEFAULT, default (mapeado para NULL) e NULL. As entradas válidas para level2_object_type são COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER e NULL.

  • { default | 'level2_object_name' |NULL }
    É o nome do tipo de objeto de nível 2 especificado. level2_object_name é sysname com um padrão NULL. As entradas válidas são default, NULL ou um nome de objeto.

Tabelas retornadas

Este é o formato das tabelas retornado por fn_listextendedproperty.

Nome da coluna

Tipo de dados

objtype

sysname

objname

sysname

name

sysname

value

sql_variant

Se a tabela retornada estiver vazia, o objeto não tem propriedades estendidas ou o usuário não tem permissões para listar as propriedades estendidas do objeto. Ao retornar propriedades estendidas do próprio banco de dados, as colunas objtype e objname serão NULL.

Comentários

Se o valor de property_name for NULL ou default, fn_listextendedproperty retornará todas as propriedades do objeto especificado.

Quando o tipo do objeto for especificado e o valor do nome do objeto correspondente for NULL ou default, fn_listextendedproperty retornará todas as propriedades estendidas de todos os objetos do tipo especificado.

Os objetos são diferenciados de acordo com níveis, em que nível 0 é o mais alto e nível 2 é o mais baixo. Se um objeto de nível inferior, nível 1 ou 2, um tipo e um nome forem especificados, o tipo e o nome do objeto pai deverão receber valores que não sejam NULL ou default. Caso contrário, a função retornará um conjunto de resultados vazio.

Permissões

As permissões para listar propriedades estendidas de objetos variam por tipo de objeto. Para obter uma lista completa das permissões, consulte Usando propriedades estendidas em objetos de banco de dados.

Exemplos

A. Exibindo propriedades estendidas em um banco de dados

O exemplo a seguir exibe todas as propriedades estendidas definidas no próprio objeto do banco de dados.

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

Conjunto de resultados.

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

(1 row(s) affected)

B. Exibindo propriedades estendidas em todas as colunas de uma tabela

O exemplo a seguir lista as propriedades estendidas das colunas da tabela ScrapReason . Isto está contido no esquema Production.

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

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. Exibindo propriedades estendidas em todas as tabelas de um esquema

O exemplo a seguir lista as propriedades estendidas de todas as tabelas contidas no esquema Sales .

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