sp_dropextendedproperty (Transact-SQL)

Löscht eine vorhandene erweiterte Eigenschaft.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_dropextendedproperty 
    [ @name = ] { 'property_name' }
      [ , [ @level0type = ] { 'level0_object_type' } 
                , [ @level0name = ] { 'level0_object_name' } 
            [ , [ @level1type = ] { 'level1_object_type' } 
                            , [ @level1name = ] { 'level1_object_name' } 
                [ , [ @level2type = ] { 'level2_object_type' } 
                                    , [ @level2name = ] { 'level2_object_name' } 
                ] 
            ] 
        ] 
    ] 

Argumente

  • [ @name = ]{ 'property_name'}
    Der Name der Eigenschaft, die gelöscht werden soll. property_name ist vom Datentyp sysname und kann nicht NULL sein.

  • [ @level0type = ]{ 'level0_object_type'}
    Der Name des angegebenen Objekttyps der Ebene 0. level0_object_type ist ein Wert vom Datentyp varchar(128); der Standardwert ist NULL.

    Gültige Eingaben sind ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE und NULL.

    Wichtiger HinweisWichtig

    USER und TYPE als Typen der Ebene 0 werden in einer zukünftigen Version von SQL Server nicht mehr unterstützt. Vermeiden Sie die Verwendung dieser Funktionen bei neuen Entwicklungsarbeiten, und planen Sie die Änderung von Anwendungen, die diese Funktionen zurzeit verwenden. Verwenden Sie SCHEMA anstelle von USER als Typ der Ebene 0. Verwenden Sie für TYPE als Typ der Ebene 0 SCHEMA und TYPE als Typ der Ebene 1.

  • [ @level0name = ]{ 'level0_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 0. level0_object_name ist ein Wert vom Datentyp sysname; der Standardwert ist NULL.

  • [ @level1type = ]{ 'level1_object_type'}
    Der Typ des Objekts der Ebene 1. level1_object_type ist vom Datentyp varchar(128) und hat den Standardwert NULL. Gültige Eingabewerte sind AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION und NULL.

  • [ @level1name = ]{ 'level1_object_name'}
    Der Name des angegebenen Typs der Ebene 1. level1_object_name ist vom Datentyp sysname; der Standardwert ist NULL.

  • [ @level2type = ]{ 'level2_object_type'}
    Der Typ des Objekts der Ebene 2. level2_object_type ist vom Datentyp varchar(128) und hat den Standardwert NULL. Gültige Eingabewerte sind COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER und NULL.

  • [ @level2name = ]{ 'level2_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 2. level2_object_name ist vom Datentyp sysname; der Standardwert ist NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Für das Angeben erweiterter Eigenschaften werden die Objekte in einer SQL Server-Datenbank in drei Ebenen unterteilt (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 bei einem gültigen Wert für property_name alle Objekttypen und -namen NULL sind und eine Eigenschaft in der aktuellen Datenbank vorhanden ist, wird diese Eigenschaft gelöscht. Weitere Informationen finden Sie im Beispiel B, weiter unten in diesem Thema.

Berechtigungen

Mitglieder der festen Datenbankrollen db_owner und db_ddladmin können erweiterte Eigenschaften beliebiger Objekte mit folgender Ausnahme löschen: db_ddladmin kann weder der Datenbank noch Benutzern oder Rollen Eigenschaften hinzufügen.

Benutzer können erweiterte Eigenschaften von Objekten löschen, die sie besitzen, oder für die sie über die ALTER- oder CONTROL-Berechtigung verfügen. Eine vollständige Liste der erforderlichen Berechtigungen finden Sie unter Verwenden von erweiterten Eigenschaften für Datenbankobjekte.

Beispiele

A. Löschen der erweiterten Eigenschaft einer Spalte

Im folgenden Beispiel wird die caption-Eigenschaft der id-Spalte in der T1-Tabelle gelöscht, 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 = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
EXEC sp_dropextendedproperty 
     @name = 'caption' 
    ,@level0type = 'schema' 
    ,@level0name = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
DROP TABLE T1;
GO

B. Löschen der erweiterten Eigenschaft einer Datenbank

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

USE AdventureWorks2008R2;
GO
EXEC sp_dropextendedproperty 
@name = N'MS_Description';
GO