Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Descarta uma propriedade estendida existente.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_dropextendedproperty
[ @name = ] N'name'
[ , [ @level0type = ] 'level0type' ]
[ , [ @level0name = ] N'level0name' ]
[ , [ @level1type = ] 'level1type' ]
[ , [ @level1name = ] N'level1name' ]
[ , [ @level2type = ] 'level2type' ]
[ , [ @level2name = ] N'level2name' ]
[ ; ]
Argumentos
[ @name = ] N'nome'
O nome da propriedade a ser descartada.
@name é sysname e não pode ser NULL.
@level0type [ = ] 'level0type'
O nome do tipo de objeto de nível 0 especificado.
@level0type é varchar(128), com um padrão de NULL.
As entradas válidas são ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPEe .NULL
Importante
USER e TYPE como os 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 os usam atualmente. 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.
@level0name [ = ] N'nível0nome'
O nome do tipo de objeto de nível 0 especificado.
@level0name é sysname, com um padrão de NULL.
@level1type [ = ] 'nível1tipo'
O tipo de objeto de nível 1.
@level1type é varchar(128), com um padrão de NULL.
As entradas válidas são AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAMEPROCEDUREQUEUERULESYNONYMTABLETABLE_TYPETYPEVIEWe . XML SCHEMA COLLECTIONNULL
@level1name [ = ] N'nível1nome'
O nome do tipo de objeto de nível 1 especificado.
@level1name é sysname, com um padrão de NULL.
@level2type [ = ] 'nível2tipo'
O tipo de objeto de nível 2.
@level2type é varchar(128), com um padrão de NULL.
As entradas válidas são COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER, e NULL.
@level2name [ = ] N'nível2nome'
O nome do tipo de objeto de nível 2 especificado.
@level2name é sysname, com um padrão de NULL.
Valores do código de retorno
0 (sucesso) ou 1 (falha).
Comentários
Quando você especifica propriedades estendidas, os objetos em um banco de dados do SQL Server são classificados em três níveis: 0, 1 e 2. O nível 0 é o mais alto e é definido como objetos que estão contidos no escopo do banco de dados. Os objetos de nível 1 estão contidos em um esquema ou escopo de usuário e os objetos de nível 2 estão contidos pelos objetos de nível 1. As propriedades estendidas podem ser definidas para os objetos em qualquer um desses níveis. As referências a um objeto de um nível precisam ser qualificadas com os tipos e os nomes de todos os objetos de nível.
Dado um nome de propriedade válido @name, se todos os tipos e nomes de objeto forem NULL e existir uma propriedade no banco de dados atual, essa propriedade será excluída. Consulte o Exemplo B a seguir mais adiante neste artigo.
Permissões
Os membros das funções de banco de dados fixas db_owner e db_ddladmin podem descartar propriedades estendidas de qualquer objeto com a seguinte exceção: db_ddladmin não podem adicionar propriedades ao próprio banco de dados ou a usuários ou funções.
Os usuários podem descartar propriedades estendidas para objetos que possuem ou sobre os quais têm ALTERCONTROL permissões.
Exemplos
R. Soltar uma propriedade estendida em uma coluna
O exemplo a seguir remove a propriedade caption da coluna id na tabela T1 contida no esquema dbo.
CREATE TABLE T1
(
id INT,
name CHAR (20)
);
GO
EXECUTE sp_addextendedproperty
@name = 'caption',
@value = 'Employee ID',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
EXECUTE sp_dropextendedproperty
@name = 'caption',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
DROP TABLE T1;
GO
B. Descartar uma propriedade estendida em um banco de dados
O exemplo a seguir remove a propriedade nomeada MS_Description do AdventureWorks2025 banco de dados de exemplo. Como a propriedade está no banco de dados em si, nenhum tipo de objeto e nome é especificado.
USE AdventureWorks2022;
GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description';
GO