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
, FILEGROUP
MESSAGE TYPE
, PARTITION SCHEME
ROUTE
SCHEMA
REMOTE SERVICE BINDING
USER
PARTITION FUNCTION
SERVICE
, TRIGGER
, und .NULL
TYPE
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
, TABLE
TABLE_TYPE
VIEW
SYNONYM
TYPE
RULE
, usw. XML SCHEMA COLLECTION
NULL
[ @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 NULL
TRIGGER
.
[ @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