sys.fn_listextendedproperty (Transact-SQL)
Retorna valores de propriedade estendidos de objetos de banco de dados.
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.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 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çã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)