Compartilhar via


sys.fn_listextendedproperty (Transact-SQL)

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

Ícone de vínculo de tópico Convenções da 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 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 novos trabalhos 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 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

    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 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 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 retornadas 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 terá propriedades estendidas ou o usuário não terá 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.

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

Aqui está o conjunto de resultados.

objtype objname name value

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

NULL NULL MS_Description AdventureWorks2008 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 AdventureWorks2012;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO

Aqui está o 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 AdventureWorks2012;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO

Consulte também

Referência

sp_addextendedproperty (Transact-SQL)

sp_dropextendedproperty (Transact-SQL)

sp_updateextendedproperty (Transact-SQL)

sys.extended_properties (Transact-SQL)