Partilhar via


sp_dropextendedproperty (Transact-SQL)

Aplica-se a:SQL Server

Elimina uma propriedade estendida existente.

Transact-SQL convenções de sintaxe

Sintaxe

sp_dropextendedproperty
    [ @name = ] N'name'
    [ , [ @level0type = ] 'level0type' ]
    [ , [ @level0name = ] N'level0name' ]
    [ , [ @level1type = ] 'level1type' ]
    [ , [ @level1name = ] N'level1name' ]
    [ , [ @level2type = ] 'level2type' ]
    [ , [ @level2name = ] N'level2name' ]
[ ; ]

Arguments

[ @name = ] N'nome'

O nome da propriedade a ser abandonado. @name é sysname, e não pode ser NULL.

[ @level0type = ] 'nível0tipo'

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 TYPE, PARTITION FUNCTION, PARTITION SCHEME, , REMOTE SERVICE BINDING, SERVICEROUTEUSERTRIGGERSCHEMATYPEe .NULL

Importante

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

[ @level0name = ] N'level0name'

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 NAME, PROCEDUREQUEUE, RULE, , SYNONYM, TABLE_TYPETYPEVIEWTABLEXML SCHEMA COLLECTIONe .NULL

[ @level1name = ] N'level1name'

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'nlevel2name'

O nome do tipo de objeto de nível 2 especificado. @level2name é sysname, com um padrão de NULL.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Observações

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 nível mais elevado e é definido como objetos contidos no escopo da base de dados. Os objetos de nível 1 estão contidos num esquema ou âmbito de utilizador, e os objetos de nível 2 são contidos por objetos de nível 1. Propriedades estendidas podem ser definidas para objetos em qualquer um destes níveis. As referências a um objeto num nível devem ser qualificadas com os tipos e nomes de todos os objetos de nível superior.

Dado um nome de propriedade válido @name, se todos os tipos e nomes de objetos forem NULL e existir uma propriedade na base de dados atual, essa propriedade é eliminada. Veja o Exemplo B que se segue mais adiante neste artigo.

Permissions

Os membros dos papéis fixos de base de dados db_owner e db_ddladmin podem eliminar propriedades estendidas de qualquer objeto, com a seguinte exceção: db_ddladmin não podem adicionar propriedades à própria base de dados, nem aos utilizadores ou papéis.

Os utilizadores podem eliminar propriedades estendidas a objetos que possuem, ou sobre os quais têm ALTER permissões CONTROL .

Examples

A. Deixar uma propriedade estendida numa coluna

O exemplo seguinte 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. Colocar uma propriedade estendida numa base de dados

O exemplo seguinte remove a propriedade nomeada MS_Description da AdventureWorks2025 base de dados de exemplo. Como a propriedade está na própria base de dados, não são especificados tipos de objetos nem nomes.

USE AdventureWorks2022;
GO

EXECUTE sp_dropextendedproperty @name = N'MS_Description';
GO