sp_dropextendedproperty (Transact-SQL)

Aktualisiert: 05. Dezember 2005

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.

    ms178595.note(de-de,SQL.90).gifWichtig:
    Die Datentypen USER und TYPE als Typen der Ebene 0 werden in einer zukünftigen Version von SQL Server nicht mehr unterstützt. Verwenden Sie diese Features beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es aktuell verwendet wird. Verwenden Sie SCHEMA als Typ der Ebene 0 anstelle von USER. 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 angegebenen Objekts der Ebene 1. level1_object_type ist vom Datentyp varchar(128); der Standardwert ist NULL. Gültige Eingaben sind AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION und NULL.
  • [ @level1name= ]{ 'level1_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 1. level1_object_name ist vom Datentyp sysname; der Standardwert ist NULL.
  • [ @level2type= ]{ 'level2_object_type'}
    Der Typ des angegebenen Objekts der Ebene 2. level2_object_type ist vom Datentyp varchar(128); der Standardwert ist 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 (0, 1 und 2) unterteilt. Ebene 0 ist die höchste Ebene. Sie ist definiert als im Datenbankbereich enthaltene Objekte. Objekte der Ebene 1 sind in einem Schema- oder Benutzerbereich enthalten, und Objekte der Ebene 2 sind in Objekten der Ebene 1 enthalten. Es können erweiterte Eigenschaften für Objekte auf allen 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. Siehe Beispiel B weiter unten.

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 AdventureWorks-Beispieldatenbank entfernt. Da die Eigenschaft zur Datenbank selbst gehört, werden keine Objekttypen und -namen angegeben.

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

Siehe auch

Verweis

Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)
fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)

Andere Ressourcen

Verwenden von erweiterten Eigenschaften für Datenbankobjekte
Anzeigen von erweiterten Eigenschaften

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Geänderter Inhalt:
  • Die Definitionen von @level0name und @level0type wurden korrigiert.