fn_listextendedproperty (Transact-SQL)
Retorna valores de propriedade estendidos de objetos de banco de dados.
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.Importante 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 objeto tipo 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çã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 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 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. 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 AdventureWorks2008R2;
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 AdventureWorks2008R2;
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 AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO