Freigeben über


sp_dropextendedproperty (Transact-SQL)

Gilt für: SQL Server

Löscht eine vorhandene erweiterte Eigenschaft.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @name = ] N'name'

Der Name der eigenschaft, die gelöscht werden soll. @name ist "sysname" und kann nicht seinNULL.

[ @level0type = ] 'level0type'

Der Name des angegebenen Objekttyps der Ebene 0. @level0type ist varchar(128) mit einem Standardwert von NULL.

Gültige Eingaben sind ASSEMBLY, , CONTRACT, EVENT NOTIFICATION, FILEGROUPMESSAGE TYPE, PARTITION SCHEMEROUTESCHEMAREMOTE SERVICE BINDINGUSERPARTITION FUNCTIONSERVICE, TRIGGER, und .NULLTYPE

Wichtig

USER und TYPE als Level-0-Typen werden in einer zukünftigen Version von SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktionen zurzeit verwenden. Verwenden Sie SCHEMA anstelle des Typs "Ebene 0" .USER Verwenden Sie SCHEMA für TYPE, als Typ der Ebene 0 und TYPE als Typ der Ebene 1.

[ @level0name = ] N'level0name'

Der Name des angegebenen Objekttyps der Ebene 0. @level0name ist "sysname" mit der Standardeinstellung "NULL.

[ @level1type = ] 'level1type'

Der Typ des Objekts der Ebene 1. @level1type ist varchar(128) mit einem Standardwert von NULL.

Gültige Eingaben sind AGGREGATE: , DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, TABLETABLE_TYPEVIEWSYNONYMTYPERULE, usw. XML SCHEMA COLLECTIONNULL

[ @level1name = ] N'level1name'

Der Name des angegebenen Objekttyps der Ebene 1. @level1name ist "sysname" mit einem Standardwert von NULL.

[ @level2type = ] 'level2type'

Der Typ des Objekts der Ebene 2. @level2type ist varchar(128), mit einem Standardwert von NULL.

Gültige Eingaben sind COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, und NULLTRIGGER.

[ @level2name = ] N'level2name'

Der Name des angegebenen Objekttyps der Ebene 2. @level2name ist "sysname" mit dem Standardwert "NULL.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

Wenn Sie erweiterte Eigenschaften angeben, werden die Objekte in einer SQL Server-Datenbank in drei Ebenen klassifiziert: 0, 1 und 2. Die Ebene 0 ist die höchste Ebene und ist definiert als Objekte, die im Datenbankbereich enthalten sind. Objekte der Ebene 1 sind in einem Schema- oder Benutzerbereich enthalten, und Objekte der Ebene 2 sind in Objekten der Ebene 1 enthalten. Erweiterte Eigenschaften können für Objekte auf einer dieser Ebenen definiert werden. Verweise auf ein Objekt einer Ebene müssen mit den Typen und Namen aller Objekte der höheren Ebenen gekennzeichnet werden.

Wenn alle Objekttypen und Namen vorhanden sind und eine Eigenschaft in der aktuellen Datenbank vorhanden istNULL, wird diese Eigenschaft gelöscht, wenn ein gültiger Eigenschaftsname @name. Siehe Beispiel B , das weiter unten in diesem Artikel folgt.

Berechtigungen

Elemente der db_owner und db_ddladmin festen Datenbankrollen können erweiterte Eigenschaften eines objekts mit der folgenden Ausnahme ablegen: db_ddladmin können der Datenbank selbst oder Benutzern oder Rollen keine Eigenschaften hinzufügen.

Benutzer können erweiterte Eigenschaften auf Objekte ablegen, die sie besitzen oder für die sie ALTER über berechtigungen verfügen CONTROL .

Beispiele

A. Ablegen einer erweiterten Eigenschaft in einer Spalte

Im folgenden Beispiel wird die caption-Eigenschaft aus der id-Spalte in der T1-Tabelle entfernt, die im dbo-Schema enthalten ist.

CREATE TABLE T1 (id INT, name CHAR(20));
GO

EXEC sp_addextendedproperty @name = 'caption',
    @value = 'Employee ID',
    @level0type = 'SCHEMA',
    @level0name = N'dbo',
    @level1type = 'TABLE',
    @level1name = N'T1',
    @level2type = 'COLUMN',
    @level2name = N'id';
GO

EXEC 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. Ablegen einer erweiterten Eigenschaft in einer Datenbank

Im folgenden Beispiel wird die Benannte Eigenschaft MS_Description aus der AdventureWorks2022 Beispieldatenbank entfernt. Da die Eigenschaft zur Datenbank selbst gehört, werden keine Objekttypen und -namen angegeben.

USE AdventureWorks2022;
GO

EXEC sp_dropextendedproperty @name = N'MS_Description';
GO