Verwenden von erweiterten Eigenschaften für Datenbankobjekte
Mithilfe erweiterter Eigenschaften können Sie Text (z. B. Beschreibungs- oder Anweisungsinhalte), Eingabeformate und Formatierungsregeln als Eigenschaften von Objekten in einer Datenbank oder der Datenbank selbst hinzufügen. Sie können z. B. einem Schema, der Sicht eines Schemas oder einer Spalte in der Sicht eine erweiterte Eigenschaft hinzufügen. Da erweiterte Eigenschaften in der Datenbank gespeichert werden, können alle Anwendungen, die die Eigenschaften lesen, das Objekt auf die gleiche Weise auswerten. Hierdurch wird das Erzwingen der konsistenten Behandlung der Daten durch sämtliche Programme im System unterstützt.
Erweiterte Eigenschaften können für folgende Zwecke verwendet werden:
Angeben einer Beschriftung für eine Tabelle, Sicht oder Spalte. Anwendungen können dann die gleiche Beschriftung in einer Benutzeroberfläche verwenden, die Informationen aus dieser Tabelle, Sicht oder Spalte anzeigt.
Angeben einer Eingabemaske für eine Spalte, damit Anwendungen Daten überprüfen können, bevor eine Transact-SQL-Anweisung ausgeführt wird. Das erforderliche Format für eine Postleitzahl- oder Rufnummerspalte kann z. B. in der erweiterten Eigenschaft angegeben werden.
Angeben von Formatierungsregeln zum Anzeigen der Daten in einer Spalte.
Aufzeichnen einer Beschreibung bestimmter Datenbankobjekte, die Anwendungen für die Benutzer anzeigen können. Die Beschreibungen können z. B. in einer Anwendung oder einem Bericht für Datenwörterbücher verwendet werden.
Angeben der Größe und der Fensterposition zum Anzeigen einer Spalte.
Hinweis |
---|
Erweiterte Eigenschaften sollten nicht verwendet werden, um sicherheitsrelevante Informationen zu einem Objekt auszublenden. Jeder Benutzer, dem Berechtigungen für das Objekt erteilt wurden, kann die erweiterten Eigenschaften für das Objekt anzeigen. Wenn Sie einem Benutzer z. B. die SELECT-Berechtigungen für eine Tabelle erteilen, kann er die erweiterten Eigenschaften für die Tabelle anzeigen. |
Definieren erweiterter Eigenschaften
Jede erweiterte Eigenschaft verfügt über einen benutzerdefinierten Namen und einen benutzerdefinierten Wert. Der Wert einer erweiterten Eigenschaft ist vom Typ sql_variant und kann Daten im Umfang von bis zu 7.500 Byte enthalten. Einem einzelnen Objekt können mehrere erweiterte Eigenschaften hinzugefügt werden.
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 und als im Datenbankbereich enthaltene Objekte definiert. Objekte der Ebene 1 sind in einem Schema oder Benutzerbereich enthalten, Objekte der Ebene 2 sind in Objekten der Ebene 1 enthalten. Erweiterte Eigenschaften können für Objekte auf jeder dieser Ebenen definiert werden.
Verweise auf ein Objekt einer Ebene müssen mit den Namen der Objekte der höheren Ebene gekennzeichnet werden, die diese besitzen oder enthalten. Wenn Sie z. B. einer Tabellenspalte der Ebene 2 eine erweiterte Eigenschaft hinzufügen, müssen Sie auch den Tabellennamen der Ebene 1 angeben, in der die Spalte enthalten ist, sowie das Schema der Ebene 0, das die Tabelle enthält.
Im folgenden Beispiel wird der erweiterte Eigenschaftenwert 'Minimum inventory quantity.' der SafetyStockLevel-Spalte in der Product-Tabelle hinzugefügt, die im Production -Schema enthalten ist.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Minimum inventory quantity.',
@level0type = N'SCHEMA', @level0name = Production,
@level1type = N'TABLE', @level1name = Product,
@level2type = N'COLUMN', @level2name = SafetyStockLevel;
GO
Hinzufügen erweiterter Eigenschaften zu Objekten
Die folgende Tabelle führt die Objekte auf, denen erweiterte Eigenschaften hinzugefügt werden können. Die gültigen Objekttypen der Ebene 0, Ebene 1 und Ebene 2 werden genannt, ebenso wie die Berechtigungen, die zum Hinzufügen, Löschen oder Anzeigen der erweiterten Eigenschaften erforderlich sind.
Aggregat
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
AGGREGAT |
ALTER für OBJECT des Aggregats |
Beliebige für OBJECT |
Gilt für benutzerdefinierte CLR-Aggregatfunktionen. |
Asymmetrischer Schlüssel
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
ASYMMETRIC KEY |
ALTER für CERTIFICATE |
Beliebig für KEY |
1 |
Keine |
|
|
2 |
Keine |
|
|
Assembly
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
ASSEMBLY |
ALTER für ASSEMBLY |
Beliebige für ASSEMBLY |
1 |
Keine |
|
|
2 |
Keine |
|
|
Zertifikat
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
CERTIFICATE |
ALTER für CERTIFICATE |
Beliebig für CERTIFICATE |
1 |
Keine |
|
|
2 |
Keine |
|
|
Vertrag (Service Broker)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
CONTRACT |
ALTER für CONTRACT |
Beliebige für CONTRACT |
1 |
Keine |
|
|
2 |
Keine |
|
|
Datenbank
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
Keine |
ALTER für DATABASE |
CONTROL für DATABASE Oder TAKE OWNERSHIP für DATABASE Oder VIEW DEFINITION für DATABASE Oder ALTER ANY DATABASE für SERVER Oder CREATE DATABASE für SERVER |
Eigenschaft gilt für die Datenbank selbst. |
1 |
Keine |
|
|
|
2 |
Keine |
|
|
|
Beispiel:
Im folgenden Beispiel wird der AdventureWorks -Beispieldatenbank selbst eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'AdventureWorks Sample OLTP Database';
GO
Standard
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
|
1 |
DEFAULT |
ALTER für SCHEMA |
HAS_DBACCESS = 1 |
Wird nur aus Gründen der Abwärtskompatibilität bereitgestellt. Weitere Informationen finden Sie unter Als veraltet markierte Features des Datenbankmoduls in SQL Server 2008. |
2 |
Keine |
|
|
|
Ereignisbenachrichtigung
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
EVENT NOTIFICATION |
ALTER ANY DATABASE EVENT NOTIFICATION ON DATABASE |
Besitzer der Ereignisbenachrichtigung. Oder CONTROL, ALTER, TAKE OWNERSHIP oder VIEW DEFINITION für die Datenbank Oder ALTER ANY DATABASE EVENT NOTIFICATION |
Gilt für Ereignisbenachrichtigungen auf Datenbankebene, deren übergeordnetes Objekt die Datenbank ist. Erweiterte Eigenschaften können nicht Ereignisbenachrichtigungen auf Serverebene hinzugefügt werden. |
1 |
Keine |
|
|
|
2 |
Keine |
|
|
|
Dateigruppen- oder Dateiname
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
FILEGROUP |
ALTER für DATABASE |
HAS_DBACCESS = 1 |
1 |
LOGICAL FILE NAME |
ALTER für DATABASE |
HAS_DBACCESS = 1 |
2 |
Keine |
|
|
Beispiel:
Im folgenden Beispiel wird der PRIMARY-Dateigruppe eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Primary filegroup for the AdventureWorks sample database.',
@level0type = N'FILEGROUP', @level0name = [PRIMARY];
GO
Im folgenden Beispiel wird dem logischen Dateinamen AdventureWorks_Data in der PRIMARY-Dateigruppe eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Primary data file for the AdventureWorks sample database.',
@level0type = N'FILEGROUP', @level0name = [PRIMARY],
@level1type = N'Logical File Name', @level1name = AdventureWorks_Data;
GO
Funktion
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
FUNCTION |
ALTER für OBJECT der Funktion |
Beliebige für COLUMN Oder Beliebige für OBJECT |
Gilt für die folgenden benutzerdefinierten Funktionen:
Wenn kein Typ der Ebene 2 angegeben wird, gilt die Eigenschaft für die Funktion selbst. |
2 |
COLUMN |
ALTER für OBJECT der Funktion |
Beliebige für COLUMN Oder Beliebige für OBJECT |
|
2 |
CONSTRAINT |
ALTER für OBJECT der Funktion |
Beliebige für COLUMN Oder Beliebige für OBJECT |
|
2 |
PARAMETER |
ALTER für OBJECT der Funktion |
Beliebige für COLUMN Oder Beliebige für OBJECT |
|
Beispiel:
Im folgenden Beispiel wird der benutzerdefinierten Funktion ufnGetStock eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Scalar function returning the quantity of inventory for a specified ProductID.',
@level0type = N'SCHEMA', @level0name = [dbo],
@level1type = N'FUNCTION', @level1name = ufnGetStock;
GO
Im folgenden Beispiel wird dem Parameter @ProductID, der in der benutzerdefinierten Funktion ufnGetStock definiert wurde, eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Input parameter. Enter a valid ProductID.',
@level0type = N'SCHEMA', @level0name = [dbo],
@level1type = N'FUNCTION', @level1name = ufnGetStock,
@level2type = N'PARAMETER', @level2name ='@ProductID';
GO
Nachrichtentyp
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
MESSAGE TYPE |
ALTER für MESSAGE TYPE |
HAS_DBACCESS = 1 |
1 |
Keine |
|
|
2 |
Keine |
|
|
Partitionsfunktion
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
PARTITION FUNCTION |
ALTER ANY DATASPACE für DATABASE |
HAS_DBACCESS = 1 |
1 |
Keine |
|
|
2 |
Keine |
|
|
Partitionsschema
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
PARTITION SCHEME |
ALTER ANY DATASPACE für DATABASE |
HAS_DBACCESS = 1 |
1 |
Keine |
|
|
2 |
Keine |
|
|
Planhinweisliste (plan guide)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
PLAN GUIDE |
ALTER ANY DATASPACE für DATABASE |
VIEW DEFINITION, ALTER, TAKE OWNERSHIP oder CONTROL für Datenbank mit SQL oder TEMPLATE-Hinweislisten und VIEW DEFINITION, ALTER, TAKE OWNERSHIP oder CONTROL für Objekte der OBJECT-Hinweislisten |
1 |
Keine |
|
|
2 |
Keine |
|
|
Im folgenden Beispiel wurde der Planhinweisliste TemplateGuide1 eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXECUTE sp_addextendedproperty @name=N'PlanGuideGroup', @value = N'MyTest',
@level0type = N'Plan Guide', @level0name = 'TemplateGuide1';
Prozedur
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
PROCEDURE |
ALTER für OBJECT der Prozedur
Hinweis
Nur Mitglieder der festen Serverrolle sysadmin können erweiterte Eigenschaften erweiterten gespeicherten Prozeduren hinzufügen.
|
Beliebige für OBJECT |
Gilt für die folgenden benutzerdefinierten gespeicherten Funktionen:
Wenn kein Typ der Ebene 2 angegeben wird, gilt die Eigenschaft für die Prozedur selbst. |
2 |
PARAMETER |
ALTER für OBJECT der Prozedur |
Beliebige für OBJECT |
|
Warteschlange (Service Broker)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
QUEUE |
ALTER für OBJECT der Warteschlange |
Beliebige für OBJECT |
|
2 |
EVENT NOTIFICATION |
ALTER für OBJECT der Warteschlange |
Besitzer der Ereignisbenachrichtigung. Oder CONTROL, ALTER, TAKE OWNERSHIP oder VIEW DEFINITION für die Warteschlange Oder ALTER ANY DATABASE EVENT NOTIFICATION |
Die Ereignisbenachrichtigung kann einen anderen Besitzer als die Warteschlange aufweisen. |
Remotedienstbindung (Service Broker)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
REMOTE SERVICE BINDING |
ALTER für REMOTE SERVICE BINDING |
Any für REMOTE SERVICE BINDING |
1 |
Keine |
|
|
2 |
Keine |
|
|
Route (Service Broker)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
ROUTE |
ALTER für REMOTE SERVICE BINDING |
Beliebige für ROUTE |
1 |
Keine |
|
|
2 |
Keine |
|
|
Regel
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
|
1 |
RULE |
ALTER für SCHEMA |
HAS_DBACCESS = 1 |
Dieser Parameter wird aus Gründen der Abwärtskompatibilität bereitgestellt. Weitere Informationen finden Sie unter Als veraltet markierte Features des Datenbankmoduls in SQL Server 2008. |
2 |
Keine |
|
|
|
Schema oder User
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
ALTER für SCHEMA oder ALTER für USER |
Beliebige für APPLICATION ROLE Oder Beliebige für ROLE Oder Beliebige ON USER |
Wenn kein Typ der Ebene 1 angegeben wird, gilt die Eigenschaft für das Schema oder den Benutzer selbst. USER kann eine der folgenden Rollen sein:
USER sollte nur verwendet werden, wenn Sie einem Benutzer eine erweiterte Eigenschaft hinzufügen.
Wichtig
USER als Typ der Ebene 0, der auf Ebene 1 oder Objekten der Ebene 2 definiert ist, wird in einer zukünftigen Version von SQL Server entfernt. Vermeiden Sie die beim Entwickeln neuer Anwendungen das Verwenden dieses Features bei neuen Entwicklungsarbeiten, und planen Sie die Änderung von Anwendungen, die dieses Feature zurzeit verwenden. Verwenden Sie stattdessen SCHEMA als Typ der Ebene 0.
|
1 |
Unterschiedlich |
|
|
|
2 |
Unterschiedlich |
|
|
|
Dienst (auf Server)
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
SERVICE |
ALTER für SERVICE |
ALTER für SERVICE Oder CONTROL für SERVICE Oder TAKE OWNERSHIP für SERVICE Oder VIEW DEFINITION für SERVICE |
1 |
Keine |
|
|
2 |
Keine |
|
|
Symmetrischer Schlüssel
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
---|---|---|---|
0 |
SYMMETRIC KEY |
ALTER für CERTIFICATE |
Beliebig für KEY |
1 |
Keine |
|
|
2 |
Keine |
|
|
Synonym
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
SYNONYM |
CONTROL für SYNONYM |
Beliebige für OBJECT |
|
2 |
Keine |
|
|
|
Tabelle
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
TABLE |
ALTER für OBJECT der Tabelle |
Beliebige für COLUMN Oder Beliebige für OBJECT |
Gilt für benutzerdefinierte Tabellen. Wenn kein Typ der Ebene 2 angegeben wird, gilt die Eigenschaft für die Tabelle selbst. |
2 |
COLUMN |
ALTER für OBJECT der Tabelle |
Beliebige für COLUMN Oder Beliebige für OBJECT |
|
2 |
CONSTRAINT |
ALTER für OBJECT der Tabelle |
ALTER für OBJECT Oder CONTROL für OBJECT Oder TAKE OWNERSHIP für OBJECT Oder VIEW DEFINITION für OBJECT |
Gilt für die folgenden Einschränkungen:
|
2 |
INDEX |
ALTER für OBJECT der Tabelle |
Beliebige für COLUMN Oder Beliebige für OBJECT |
Gilt für relationale und XML-Indizes. |
2 |
TRIGGER |
ALTER für OBJECT der Tabelle |
ALTER für OBJECT Oder CONTROL für OBJECT Oder TAKE OWNERSHIP für OBJECT Oder VIEW DEFINITION für OBJECT |
Gilt für die folgenden DMI-Trigger:
Gilt nicht für DDL-Trigger. |
Beispiel:
Im folgenden Beispiel wird der Address-Tabelle im Person-Schema eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_Description',
@value = N'Street address information for customers, employees, and vendors.',
@level0type = N'SCHEMA', @level0name = Person,
@level1type = N'TABLE', @level1name = Address;
GO
Im folgenden Beispiel wird dem Index IX_Address_StateProviceID für die Address-Tabelle im Person-Schema eine erweiterte Eigenschaft hinzugefügt.
USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Nonclustered index on StateProvinceID.',
@level0type = N'SCHEMA', @level0name = Person,
@level1type = N'TABLE', @level1name = Address,
@level2type = N'INDEX', @level2name = IX_Address_StateProvinceID;
GO
Trigger
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
TRIGGER |
ALTER ANY TRIGGER für DATABASE |
ALTER ANY TRIGGER für DATABASE |
Gilt nur für DDL-Trigger. |
1 |
Keine |
|
|
|
2 |
Keine |
|
|
|
Typ
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
TYPE |
CONTROL für TYPE |
Beliebige für TYPE |
Gilt für benutzerdefinierte Typen, die in früheren Versionen von SQL Server erstellt wurden. Dieser Parameter wird aus Gründen der Abwärtskompatibilität bereitgestellt. Weitere Informationen finden Sie unter Als veraltet markierte Features des Datenbankmoduls in SQL Server 2008. |
1 |
Keine |
|
|
|
2 |
Keine |
|
|
|
Typ
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
TYPE |
CONTROL für TYPE |
Beliebige für TYPE |
|
2 |
Keine |
|
|
|
Sicht
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
VIEW |
ALTER für OBJECT der Sicht |
Beliebige für COLUMN Oder Beliebige für OBJECT |
Gilt für benutzerdefinierte Sichten. Wenn kein Typ der Ebene 2 angegeben wird, gilt die Eigenschaft für die Sicht selbst. |
2 |
COLUMN |
ALTER für OBJECT der Sicht |
Beliebige für COLUMN Oder Beliebige für OBJECT |
|
2 |
INDEX |
ALTER für OBJECT der Sicht |
Beliebige für COLUMN Oder Beliebige für OBJECT |
Gilt für relationale und XML-Indizes. |
2 |
TRIGGER |
ALTER für OBJECT der Sicht |
ALTER ANY TRIGGER für DATABASE Oder ALTER für OBJECT Oder CONTROL für OBJECT Oder TAKE OWNERSHIP für OBJECT Oder VIEW DEFINITION für OBJECT |
Gilt für die folgenden DMI-Trigger:
Gilt nicht für DDL-Trigger. |
XML-Schemaauflistung
Ebene |
Ebenentyp |
Erforderliche Berechtigungen zum Hinzufügen oder Löschen einer erweiterten Eigenschaft |
Erforderliche Berechtigungen zum Anzeigen einer erweiterten Eigenschaft |
Kommentare |
---|---|---|---|---|
0 |
SCHEMA oder USER |
|
|
SCHEMA sollte statt USER verwendet werden. Weitere Informationen finden Sie im Abschnitt zum Vergleich zwischen Schema und Benutzer weiter unten in diesem Thema. |
1 |
XML SCHEMA COLLECTION |
ALTER für XML SCHEMA COLLECTION |
ALTER für XML SCHEMA COLLECTION Oder CONTROL für XML SCHEMA COLLECTION Oder REFERENCES für XML SCHEMA COLLECTION Oder TAKE OWNERSHIP für XML SCHEMA COLLECTION Oder VIEW DEFINITION für XML SCHEMA COLLECTION |
Erweiterte Eigenschaften können nicht zu einem XML-Namespace hinzugefügt werden. |
2 |
Keine |
|
|
|
Objekte ohne Unterstützung erweiterter Eigenschaften
Für die folgenden Objekte können keine erweiterten Eigenschaften definiert werden:
Objekte im Datenbankbereich, die nicht in den obigen Tabellen aufgeführt sind. Dies schließt Volltextobjekte ein.
Objekte außerhalb des Datenbankbereichs wie z. B. HTTP-Endpunkte.
Unbenannte Objekte wie z. B. Partitionsfunktionsparameter.
Zertifikate, symmetrische Schlüssel, asymmetrische Schlüssel und Anmeldeinformationen.
Systemdefinierte Objekte wie z. B. Systemtabellen, Katalogsichten und gespeicherte Systemprozeduren.
Schema im Vergleich zu Benutzer
In früheren SQL Server-Versionen waren Benutzer die Besitzer von Datenbankobjekten, wie Tabellen, Sichten und Triggern. Aus diesem Grund war das Hinzufügen einer erweiterten Eigenschaft zu einem dieser Objekte sowie das Angeben eines Benutzernamens als Typ der Ebene 0 zulässig. Datenbankobjekte sind nun in Schemas enthalten, die unabhängig von den Benutzern sind, die Besitzer der Schemas sind.
Sie sollten beachten, dass eine Mehrdeutigkeit bewirkt werden kann, wenn Sie eine erweiterte Eigenschaft auf ein Datenbankobjekt anwenden und USER als Typ der Ebene 0 angeben.Angenommen, Benutzer Mary besitzt beispielsweise zwei Schemas (Mary und MySchema), und diese Schemas enthalten beide eine Tabelle namens MyTable. Wenn Mary der MyTable-Tabelle eine erweiterte Eigenschaft hinzufügt und @level0type = N'USER', @level0name = Mary angibt, ist nicht eindeutig, auf welche Tabelle die erweiterte Eigenschaft angewendet wird. Aus Gründen der Abwärtskompatibilität wendet SQL Server die Eigenschaft auf die Tabelle im Schema namens Mary an. Weitere Informationen zu Benutzern und Schemas finden Sie unter Trennung von Benutzer und Schema.
Verwenden von Input Mask im Vergleich zu CHECK-Einschränkungen
Sowohl CHECK-Einschränkungen als auch erweiterte Eigenschaften, die eine Eingabemaske bereitstellen, können zum Angeben des Musters von Daten verwendet werden, das für Tabellen- oder Sichtspalten erwartet wird. Die meisten Sites wählen eine der beiden Optionen aus, wenn nicht einer der folgenden Umstände vorliegt:
Die CHECK-Einschränkungen wurden als Zwischenmeasure verwendet, bis alle Programme, die diese Tabelle verwenden, geändert werden konnten, um die Input Mask-Eigenschaften zu verwenden.
Die Site unterstützt auch Benutzer, die die Daten mithilfe von Ad-hoc-Tools aktualisieren können, die die erweiterten Eigenschaften nicht lesen.
Der Vorteil der Input Mask-Eigenschaft gegenüber der CHECK-Einschränkung liegt darin, dass die Logik in den Anwendungen angewendet wird. Letztere können informativere Fehler generieren, wenn ein Benutzer Daten bereitstellt, die nicht ordnungsgemäß formatiert sind. Der Nachteil der Input Mask-Eigenschaft besteht darin, dass ein separater Aufruf von fn_listextendedproperty oder sys.extended_properties erforderlich ist, um diese Eigenschaft abzurufen; außerdem muss die Logik zum Erzwingen der Maske in allen Programmen hinzugefügt werden.
Replizieren erweiterter Eigenschaften
Erweiterte Eigenschaften werden nur in der anfänglichen Synchronisierung zwischen dem Verleger und dem Abonnenten repliziert. Wenn Sie eine erweiterte Eigenschaft nach der anfänglichen Synchronisierung hinzufügen oder ändern, wird die Änderung nicht repliziert. Weitere Informationen zum Replizieren von Datenbankobjekten finden Sie unter Veröffentlichen von Daten und Datenbankobjekten.
Verwenden erweiterter Eigenschaften in Anwendungen
Erweiterte Eigenschaften stellen nur einen benannten Speicherort bereit, in dem die Daten gespeichert werden sollen. Alle Anwendungen müssen so geschrieben sein, dass die Eigenschaft abgefragt wird und die entsprechenden Aktionen ausgeführt werden. Beispielsweise wird durch Hinzufügen einer Caption-Eigenschaft zu einer Spalte keine Beschriftung erstellt, die von einer Anwendung angezeigt werden kann. Jede Anwendung muss so geschrieben sein, dass die Beschriftung gelesen und ordnungsgemäß angezeigt wird.
So fügen Sie eine erweiterte Eigenschaft hinzu
So aktualisieren Sie eine erweiterte Eigenschaft
So löschen Sie eine erweiterte Eigenschaft
So zeigen Sie eine erweiterte Eigenschaft an
Siehe auch