Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Verlaagt een bestaand verlengd terrein.
Transact-SQL syntaxis-conventies
Syntaxis
sp_dropextendedproperty
[ @name = ] N'name'
[ , [ @level0type = ] 'level0type' ]
[ , [ @level0name = ] N'level0name' ]
[ , [ @level1type = ] 'level1type' ]
[ , [ @level1name = ] N'level1name' ]
[ , [ @level2type = ] 'level2type' ]
[ , [ @level2name = ] N'level2name' ]
[ ; ]
Arguments
[ @name = ] Naamloos
De naam van het eigendom dat wordt weggelaten.
@name is sysname, en kan niet .NULL
[ @level0type = ] 'level0type'
De naam van het opgegeven objecttype niveau 0.
@level0type is varchar(128), met een standaardwaarde van NULL.
Geldige invoer zijn , , , , , , PARTITION SCHEMEPARTITION FUNCTION, REMOTE SERVICE BINDING, USERSERVICETRIGGERSCHEMATYPEROUTEen .NULLMESSAGE TYPEFILEGROUPEVENT NOTIFICATIONCONTRACTASSEMBLY
Belangrijk
USER en TYPE als niveau-0 types zullen worden verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functies in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functies. Gebruik SCHEMA als level 0 type in plaats van USER. Voor TYPE, gebruik SCHEMA als het niveau 0 type en TYPE als het niveau 1 type.
[ @level0name = ] N'level0name'
De naam van het opgegeven objecttype niveau 0.
@level0name is sysname, met een standaardwaarde van NULL.
[ @level1type = ] 'level1type'
Het type object op niveau 1.
@level1type is varchar(128), met een standaardwaarde van NULL.
Geldige invoer zijn , , , , , , QUEUE, RULESYNONYM, VIEWTABLE_TYPETABLETYPEXML SCHEMA COLLECTION, en .NULLPROCEDURELOGICAL FILE NAMEFUNCTIONDEFAULTAGGREGATE
[ @level1name = ] N'level1name'
De naam van het objecttype niveau 1 dat is opgegeven.
@level1name is sysname, met een standaardwaarde van NULL.
[ @level2type = ] 'level2type'
Het type object op niveau 2.
@level2type is varchar(128), met een standaardwaarde van NULL.
Geldige invoer zijn , , , , INDEX, PARAMETER, TRIGGER, en NULL. EVENT NOTIFICATIONCONSTRAINTCOLUMN
[ @level2name = ] N'level2name'
De naam van het objecttype niveau 2 dat is opgegeven.
@level2name is sysname, met een standaardwaarde van NULL.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Opmerkingen
Wanneer u uitgebreide eigenschappen opgeeft, worden de objecten in een SQL Server-database geclassificeerd in drie niveaus: 0, 1 en 2. Niveau 0 is het hoogste niveau en wordt gedefinieerd als objecten die zich bevinden in de databasescope. Objecten op niveau 1 bevinden zich in een schema of gebruikersbereik en objecten op niveau 2 zijn opgenomen in objecten op niveau 1. Uitgebreide eigenschappen kunnen worden gedefinieerd voor objecten op elk van deze niveaus. Verwijzingen naar een object in één niveau moeten worden gekwalificeerd met de types en namen van alle objecten op hoger niveau.
Gegeven een geldige eigenschapsnaam @name, als alle objecttypes en namen zijn NULL en er een eigenschap bestaat in de huidige database, wordt die eigenschap verwijderd. Zie Voorbeeld B dat later in dit artikel volgt.
Permissions
Leden van de db_owner en db_ddladmin vaste databaserollen kunnen uitgebreide eigenschappen van elk object laten vallen, met de volgende uitzondering: db_ddladmin kunnen geen eigenschappen toevoegen aan de database zelf, noch aan gebruikers of rollen.
Gebruikers kunnen uitgebreide eigendommen plaatsen op objecten die ze bezitten, of waarop ze rechten hebben ALTERCONTROL .
Voorbeelden
Eén. Plaats een uitgebreide eigenschap op een kolom
Het volgende voorbeeld verwijdert de eigenschap caption uit kolom id in de tabel T1 die in het schema dbois opgenomen.
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. Plaats een uitgebreide eigenschap in een database
Het volgende voorbeeld verwijdert de naamloze MS_Description eigenschap uit de AdventureWorks2025 voorbeelddatabase. Omdat de eigenschap op de database zelf staat, worden er geen objecttypes en namen gespecificeerd.
USE AdventureWorks2022;
GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description';
GO