OBJECTPROPERTYEX (Transact-SQL)
Gibt Informationen zu Objekten mit Schemabereich der aktuellen Datenbank zurück. Eine Liste dieser Objekte finden Sie unter sys.objects (Transact-SQL). OBJECTPROPERTYEX kann nicht für Objekte verwendet werden, die keine Objekte mit Schemabereich sind, wie z. B. Trigger der Datendefinitionssprache (DDL, Data Definition Language) und Ereignisbenachrichtigungen.
Syntax
OBJECTPROPERTYEX ( id , property )
Argumente
id
Ein Ausdruck, der die ID des Objekts in der aktuellen Datenbank darstellt. id ist vom Datentyp int. Es wird davon ausgegangen, dass es sich hierbei um ein Objekt mit Schemabereich im aktuellen Datenbankkontext handelt.property
Ein Ausdruck, der die Informationen enthält, die für das durch id angegebene Objekt zurückgegeben werden sollen. Der Rückgabetyp ist sql_variant. Die folgende Tabelle zeigt den Basisdatentyp für jeden Eigenschaftswert.Hinweis Sofern nichts anderes angegeben ist, wird NULL zurückgegeben, wenn property kein gültiger Eigenschaftsname ist, id keine gültige Objekt-ID ist, id ein nicht unterstützter Objekttyp für den angegebenen Wert von property ist oder der Aufrufer nicht über die Berechtigung zum Anzeigen der Metadaten des Objekts verfügt.
Eigenschaftsname
Objekttyp
Beschreibung und Rückgabewerte
BaseType
Ein beliebiges Objekt mit Schemabereich
Identifiziert den Basistyp des Objekts. Wenn das angegebene Objekt vom Typ SYNONYM ist, wird der Basistyp des zugrunde liegenden Objekts zurückgegeben.
Ungleich NULL = Objekttyp
Basisdatentyp: char(2)
CnstIsClustKey
Einschränkung
PRIMARY KEY-Einschränkung mit einem gruppierten Index.
1 = True
0 = False
Basisdatentyp: int
CnstIsColumn
Einschränkung
Einschränkung CHECK, DEFAULT oder FOREIGN KEY für eine einzelne Spalte.
1 = True
0 = False
Basisdatentyp: int
CnstIsDeleteCascade
Einschränkung
FOREIGN KEY-Einschränkung mit der ON DELETE CASCADE-Option.
1 = True
0 = False
Basisdatentyp: int
CnstIsDisabled
Einschränkung
Deaktivierte Einschränkung.
1 = True
0 = False
Basisdatentyp: int
CnstIsNonclustKey
Einschränkung
PRIMARY KEY-Einschränkung mit einem nicht gruppierten Index.
1 = True
0 = False
Basisdatentyp: int
CnstIsNotRepl
Einschränkung
Die Einschränkung wird mithilfe der Schlüsselwörter NOT FOR REPLICATION definiert.
1 = True
0 = False
Basisdatentyp: int
CnstIsNotTrusted
Einschränkung
Die Einschränkung wurde ohne Überprüfung der vorhandenen Zeilen aktiviert. Daher gilt die Einschränkung möglicherweise nicht für alle Zeilen.
1 = True
0 = False
Basisdatentyp: int
CnstIsUpdateCascade
Einschränkung
FOREIGN KEY-Einschränkung mit der ON UPDATE CASCADE-Option.
1 = True
0 = False
Basisdatentyp: int
ExecIsAfterTrigger
Trigger
AFTER-Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsAnsiNullsOn
Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht
Einstellung von ANSI_NULLS zum Zeitpunkt der Erstellung.
1 = True
0 = False
Basisdatentyp: int
ExecIsDeleteTrigger
Trigger
DELETE-Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsFirstDeleteTrigger
Trigger
Der erste Trigger, der beim Ausführen einer DELETE-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsFirstInsertTrigger
Trigger
Der erste Trigger, der beim Ausführen einer INSERT-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsFirstUpdateTrigger
Trigger
Der erste Trigger, der beim Ausführen einer UPDATE-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsInsertTrigger
Trigger
INSERT-Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsInsteadOfTrigger
Trigger
INSTEAD OF-Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsLastDeleteTrigger
Trigger
Der letzte Trigger, der beim Ausführen einer DELETE-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsLastInsertTrigger
Trigger
Der letzte Trigger, der beim Ausführen einer INSERT-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsLastUpdateTrigger
Trigger
Der letzte Trigger, der beim Ausführen einer UPDATE-Anweisung für die Tabelle ausgelöst wird.
1 = True
0 = False
Basisdatentyp: int
ExecIsQuotedIdentOn
Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht
Einstellung von QUOTED_IDENTIFIER zum Zeitpunkt der Erstellung.
1 = True
0 = False
Basisdatentyp: int
ExecIsStartup
Prozedur
Autostartprozedur.
1 = True
0 = False
Basisdatentyp: int
ExecIsTriggerDisabled
Trigger
Deaktivierter Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsTriggerNotForRepl
Trigger
Als NOT FOR REPLICATION definierter Trigger.
1 = True
0 = False
Basisdatentyp: int
ExecIsUpdateTrigger
Trigger
UPDATE-Trigger.
1 = True
0 = False
Basisdatentyp: int
HasAfterTrigger
Tabelle, Sicht
Die Tabelle oder Sicht besitzt einen AFTER-Trigger.
1 = True
0 = False
Basisdatentyp: int
HasDeleteTrigger
Tabelle, Sicht
Die Tabelle oder Sicht besitzt einen DELETE-Trigger.
1 = True
0 = False
Basisdatentyp: int
HasInsertTrigger
Tabelle, Sicht
Die Tabelle oder Sicht besitzt einen INSERT-Trigger.
1 = True
0 = False
Basisdatentyp: int
HasInsteadOfTrigger
Tabelle, Sicht
Die Tabelle oder Sicht besitzt einen INSTEAD OF-Trigger.
1 = True
0 = False
Basisdatentyp: int
HasUpdateTrigger
Tabelle, Sicht
Die Tabelle oder Sicht besitzt einen UPDATE-Trigger.
1 = True
0 = False
Basisdatentyp: int
IsAnsiNullsOn
Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht
Gibt an, dass die Einstellung der Option ANSI_NULLS für die Tabelle ON ist, d. h. alle Vergleiche mit einem NULL-Wert zu UNKNOWN ausgewertet werden. Diese Einstellung gilt für alle Ausdrücke in der Tabellendefinition, einschließlich berechneter Spalten und Einschränkungen, solange die Tabelle vorhanden ist.
1 = True
0 = False
Basisdatentyp: int
IsCheckCnst
Ein beliebiges Objekt mit Schemabereich
CHECK-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsConstraint
Ein beliebiges Objekt mit Schemabereich
Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsDefault
Ein beliebiges Objekt mit Schemabereich
Gebundener Standard.
1 = True
0 = False
Basisdatentyp: int
IsDefaultCnst
Ein beliebiges Objekt mit Schemabereich
DEFAULT-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsDeterministic
Skalare Funktionen und Tabellenwertfunktionen, Sicht
Die Determinismuseigenschaft der Funktion oder Sicht.
1 = Deterministisch
0 = Nicht deterministisch
Basisdatentyp: int
IsEncrypted
Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht
Gibt an, dass der Originaltext der Modulanweisung in ein verborgenes Format umgewandelt wurde. Die Ausgabe der Verbergung ist nicht direkt in den Katalogsichten in SQL Server 2005 sichtbar. Benutzer, die keinen Zugriff auf Systemtabellen oder Datenbankdateien haben, können den verborgenen Text nicht abrufen. Der Text ist jedoch für Benutzer verfügbar, die entweder auf die Systemtabellen über den DAC-Port oder direkt auf die Datenbankdateien zugreifen können. Des Weiteren können Benutzer, die einen Debugger an den Serverprozess anfügen können, die ursprüngliche Prozedur zur Laufzeit aus dem Arbeitsspeicher abrufen.
1 = Verschlüsselt.
0 = Nicht verschlüsselt.
Basisdatentyp: int.
IsExecuted
Ein beliebiges Objekt mit Schemabereich
Gibt an, dass das Objekt ausgeführt werden kann (Sicht, Prozedur, Funktion oder Trigger).
1 = True
0 = False
Basisdatentyp: int
IsExtendedProc
Ein beliebiges Objekt mit Schemabereich
Erweiterte Prozedur.
1 = True
0 = False
Basisdatentyp: int
IsForeignKey
Ein beliebiges Objekt mit Schemabereich
FOREIGN KEY-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsIndexed
Tabelle, Sicht
Tabelle oder Sicht mit einem Index.
1 = True
0 = False
Basisdatentyp: int
IsIndexable
Tabelle, Sicht
Tabelle oder Sicht, für die ein Index erstellt werden kann.
1 = True
0 = False
Basisdatentyp: int
IsInlineFunction
Funktion
Inlinefunktion.
1 = Inlinefunktion
0 = Keine Inlinefunktion
Basisdatentyp: int
IsMSShipped
Ein beliebiges Objekt mit Schemabereich
Ein während der Installation von SQL Server erstelltes Objekt.
1 = True
0 = False
Basisdatentyp: int
IsPrecise
Berechnete Spalte, Funktion, benutzerdefinierter Typ, Sicht
Zeigt an, ob das Objekt eine unpräzise Berechnung, wie z. B. Gleitkommaoperationen, enthält.
1 = Genau
0 = Unpräzise
Basisdatentyp: int
IsPrimaryKey
Ein beliebiges Objekt mit Schemabereich
PRIMARY KEY-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsProcedure
Ein beliebiges Objekt mit Schemabereich
Prozedur.
1 = True
0 = False
Basisdatentyp: int
IsQuotedIdentOn
CHECK-Einschränkung, DEFAULT-Definition, Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht
Gibt an, dass die Einstellung für Bezeichner in Anführungszeichen für das Objekt ON ist, d. h., dass doppelte Anführungszeichen Bezeichner in allen an der Objektdefinition beteiligten Ausdrücken begrenzen.
1 = True
0 = False
Basisdatentyp: int
IsQueue
Ein beliebiges Objekt mit Schemabereich
Service Broker-Warteschlange.
1 = True
0 = False
Basisdatentyp: int
IsReplProc
Ein beliebiges Objekt mit Schemabereich
Replikationsprozedur.
1 = True
0 = False
Basisdatentyp: int
IsRule
Ein beliebiges Objekt mit Schemabereich
Gebundene Regel.
1 = True
0 = False
Basisdatentyp: int
IsScalarFunction
Funktion
Skalarwertfunktion.
1 = Skalarwertfunktion
0 = Keine Skalarwertfunktion
Basisdatentyp: int
IsSchemaBound
Funktion, Sicht
Schemagebundene Funktion oder mithilfe von SCHEMABINDING erstellte Sicht.
1 = Schemagebunden
0 = Nicht schemagebunden
Basisdatentyp: int
IsSystemTable
Tabelle
Systemtabelle.
1 = True
0 = False
Basisdatentyp: int
IsSystemVerified
Berechnete Spalte, Funktion, benutzerdefinierter Typ, Sicht
Die Genauigkeits- und Determinismuseigenschaften des Objekts können von SQL Server überprüft werden.
1 = True
0 = False
Basisdatentyp: int
IsTable
Tabelle
Tabelle.
1 = True
0 = False
Basisdatentyp: int
IsTableFunction
Funktion
Tabellenwertfunktion.
1 = Tabellenwertfunktion
0 = Keine Tabellenwertfunktion
Basisdatentyp: int
IsTrigger
Ein beliebiges Objekt mit Schemabereich
Trigger.
1 = True
0 = False
Basisdatentyp: int
IsUniqueCnst
Ein beliebiges Objekt mit Schemabereich
UNIQUE-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
IsUserTable
Tabelle
Benutzerdefinierte Tabelle.
1 = True
0 = False
Basisdatentyp: int
IsView
Sicht
Sicht.
1 = True
0 = False
Basisdatentyp: int
OwnerId
Ein beliebiges Objekt mit Schemabereich
Besitzer des Objekts.
HinweisDer Schemabesitzer ist nicht notwendigerweise der Objektbesitzer. Beispielsweise geben untergeordnete Objekte (diejenigen Objekte, bei denen der Wert von parent_object_id ungleich NULL ist) immer die gleiche Besitzer-ID zurück wie das übergeordnete Objekt.Ungleich NULL = Datenbankbenutzer-ID des Objektbesitzers.
NULL = Nicht unterstützter Objekttyp oder ungültige Objekt-ID.
Basisdatentyp: int
SchemaId
Ein beliebiges Objekt mit Schemabereich
Die ID des dem Objekt zugeordneten Schemas.
Ungleich NULL = Schema-ID des Objekts.
Basisdatentyp: int
SystemDataAccess
Funktion, Sicht
Das Objekt greift auf Systemdaten, Systemkataloge oder virtuelle Systemtabellen in der lokalen Instanz von SQL Server zu.
0 = Keine
1 = Lesen
Basisdatentyp: int
TableDeleteTrigger
Tabelle
Die Tabelle besitzt einen DELETE-Trigger.
>1 = ID des ersten Triggers vom angegebenen Typ.
Basisdatentyp: int
TableDeleteTriggerCount
Tabelle
Die Tabelle besitzt die angegebene Anzahl von DELETE-Triggern.
Ungleich NULL = Anzahl von DELETE-Triggern
Basisdatentyp: int
TableFullTextMergeStatus
Tabelle
Gibt an, ob eine Tabelle über einen Volltextindex verfügt, der gerade zusammengeführt wird.
0 = Tabelle hat keinen Volltextindex, oder der Volltextindex wird derzeit nicht zusammengeführt.
1 = Der Volltextindex wird derzeit zusammengeführt.
TableFullTextBackgroundUpdateIndexOn
Tabelle
Die Aktualisierung von Volltextindizes im Hintergrund (automatische Änderungsnachverfolgung) ist für die Tabelle aktiviert.
1 = TRUE
0 = FALSE
Basisdatentyp: int
TableFulltextCatalogId
Tabelle
ID des Volltextkatalogs, in dem die Daten des Volltextindexes für die Tabelle gespeichert sind.
Ungleich 0 = ID des Volltextkatalogs, die dem eindeutigen Index zugeordnet ist, der die Zeilen in einer volltextindizierten Tabelle identifiziert.
0 = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
TableFullTextChangeTrackingOn
Tabelle
Die Volltext-Änderungsnachverfolgung ist für die Tabelle aktiviert.
1 = TRUE
0 = FALSE
Basisdatentyp: int
TableFulltextDocsProcessed
Tabelle
Die Anzahl der seit dem Start der Volltextindizierung verarbeiteten Zeilen. In einer Tabelle, die für die Volltextsuche indiziert wird, werden alle Spalten einer Zeile als Teil eines zu indizierenden Dokuments betrachtet.
0 = Keine aktive Durchforstungs- oder Volltextindizierung wurde abgeschlossen.
> 0 = Eine der folgenden Möglichkeiten:
Die Anzahl der seit dem Start der vollständigen, inkrementellen oder manuellen Änderungsnachverfolgung mithilfe von Einfüge- und Aktualisierungsvorgängen verarbeiteten Dokumente.
Die Anzahl der Zeilen, die mithilfe von Einfüge- und Aktualisierungsvorgängen verarbeitet wurden, seit die Änderungsnachverfolgung mit Auffüllung mithilfe der Indexaktualisierung im Hintergrund aktiviert wurde, das Schema für den Volltextindex geändert wurde, der Volltextkatalog erneut erstellt wurde oder die Instanz von SQL Server neu gestartet wurde usw.
NULL = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
Hinweis Diese Eigenschaft überwacht nicht die Anzahl gelöschter Zeilen und zählt sie auch nicht.
TableFulltextFailCount
Tabelle
Die Anzahl der Zeilen, die von der Volltextsuche nicht indiziert wurden.
0 = Die Auffüllung ist abgeschlossen.
> 0 = Eine der folgenden Möglichkeiten:
Die Anzahl der Dokumente, die seit dem Start der Auffüllung mithilfe der vollständigen, inkrementellen und manuellen Änderungsnachverfolgung nicht indiziert wurden.
Bei der Änderungsnachverfolgung mit Indexaktualisierung im Hintergrund die Anzahl der Zeilen, die seit dem Start der Auffüllung oder dem Neustart der Auffüllung nicht indiziert wurden. Dies könnte durch eine Schemaänderung, eine erneute Erstellung des Katalogs, einen Neustart des Servers usw. verursacht werden.
NULL = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
TableFulltextItemCount
Tabelle
Ungleich NULL = Anzahl der Zeilen, die erfolgreich volltextindiziert wurden.
NULL = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
TableFulltextKeyColumn
Tabelle
ID der Spalte, die dem eindeutigen einspaltigen Index zugeordnet ist, der Teil der Definition des Volltextindexes ist.
0 = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
TableFulltextPendingChanges
Tabelle
Anzahl der zu verarbeitenden ausstehenden Änderungsnachverfolgungseinträge.
0 = Änderungsnachverfolgung ist nicht aktiviert.
NULL = Die Tabelle besitzt keinen Volltextindex.
Basisdatentyp: int
TableFulltextPopulateStatus
Tabelle
0 = Im Leerlauf.
1 = Vollständige Auffüllung wird ausgeführt.
2 = Inkrementelle Auffüllung wird ausgeführt.
3 = Propagierung der Überarbeitungen wird ausgeführt.
4 = Indexaktualisierung im Hintergrund wird ausgeführt, z. B. automatische Änderungsnachverfolgung.
5 = Volltextindizierung wurde gedrosselt oder angehalten.
Basisdatentyp: int
TableHasActiveFulltextIndex
Tabelle
Die Tabelle besitzt einen aktiven Volltextindex.
1 = True
0 = False
Basisdatentyp: int
TableHasCheckCnst
Tabelle
Die Tabelle besitzt eine CHECK-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
TableHasClustIndex
Tabelle
Die Tabelle besitzt einen gruppierten Index.
1 = True
0 = False
Basisdatentyp: int
TableHasDefaultCnst
Tabelle
Die Tabelle besitzt eine DEFAULT-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
TableHasDeleteTrigger
Tabelle
Die Tabelle besitzt einen DELETE-Trigger.
1 = True
0 = False
Basisdatentyp: int
TableHasForeignKey
Tabelle
Die Tabelle besitzt eine FOREIGN KEY-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
TableHasForeignRef
Tabelle
Auf die Tabelle wird mit einer FOREIGN KEY-Einschränkung verwiesen.
1 = True
0 = False
Basisdatentyp: int
TableHasIdentity
Tabelle
Die Tabelle besitzt eine Identitätsspalte.
1 = True
0 = False
Basisdatentyp: int
TableHasIndex
Tabelle
Die Tabelle besitzt einen Index beliebigen Typs.
1 = True
0 = False
Basisdatentyp: int
TableHasInsertTrigger
Tabelle
Das Objekt besitzt einen INSERT-Trigger.
1 = True
0 = False
Basisdatentyp: int
TableHasNonclustIndex
Tabelle
Die Tabelle besitzt einen nicht gruppierten Index.
1 = True
0 = False
Basisdatentyp: int
TableHasPrimaryKey
Tabelle
Die Tabelle besitzt einen Primärschlüssel.
1 = True
0 = False
Basisdatentyp: int
TableHasRowGuidCol
Tabelle
Die Tabelle besitzt eine ROWGUIDCOL-Spalte für eine uniqueidentifier -Spalte.
1 = True
0 = False
Basisdatentyp: int
TableHasTextImage
Tabelle
Die Tabelle besitzt eine Spalte vom Typ text, ntext oder image.
1 = True
0 = False
Basisdatentyp: int
TableHasTimestamp
Tabelle
Die Tabelle besitzt eine timestamp-Spalte.
1 = True
0 = False
Basisdatentyp: int
TableHasUniqueCnst
Tabelle
Die Tabelle besitzt eine UNIQUE-Einschränkung.
1 = True
0 = False
Basisdatentyp: int
TableHasUpdateTrigger
Tabelle
Das Objekt besitzt einen UPDATE-Trigger.
1 = True
0 = False
Basisdatentyp: int
TableHasVarDecimalStorageFormat
Tabelle
Für die Tabelle ist das vardecimal-Speicherformat zugelassen.
1 = True
0 = False
TableInsertTrigger
Tabelle
Die Tabelle besitzt einen INSERT-Trigger.
>1 = ID des ersten Triggers vom angegebenen Typ.
Basisdatentyp: int
TableInsertTriggerCount
Tabelle
Die Tabelle besitzt die angegebene Anzahl von INSERT-Triggern.
>0 = Die Anzahl von INSERT-Triggern.
Basisdatentyp: int
TableIsFake
Tabelle
Die Tabelle ist in Wirklichkeit nicht vorhanden. Sie wird bei Bedarf durch Database Engine (Datenbankmodul) intern materialisiert.
1 = True
0 = False
Basisdatentyp: int
TableIsLockedOnBulkLoad
Tabelle
Die Tabelle ist aufgrund eines bcp- oder BULK INSERT-Auftrags gesperrt.
1 = True
0 = False
Basisdatentyp: int
TableIsPinned
Tabelle
Die Tabelle ist fixiert, damit sie im Datencache gespeichert wird.
0 = False
Diese Funktion wird in SQL Server 2005 und höheren Versionen nicht unterstützt.
TableTextInRowLimit
Tabelle
Für die Tabelle wurde die text in row-Option festgelegt.
> 0 = Maximale Anzahl von Bytes, die für text in row zulässig sind.
0 = Die Option text in row ist nicht festgelegt.
Basisdatentyp: int
TableUpdateTrigger
Tabelle
Die Tabelle besitzt einen UPDATE-Trigger.
>1 = ID des ersten Triggers vom angegebenen Typ.
Basisdatentyp: int
TableUpdateTriggerCount
Tabelle
Die Tabelle besitzt die angegebene Anzahl von UPDATE-Triggern.
>0 = Die Anzahl von UPDATE-Triggern.
Basisdatentyp: int
UserDataAccess
Funktion, Sicht
Zeigt an, dass das Objekt auf Benutzerdaten und Benutzertabellen in der lokalen Instanz von SQL Server zugreift.
1 = Lesen
0 = Keine
Basisdatentyp: int
TableHasColumnSet
Tabelle
Die Tabelle besitzt einen Spaltensatz.
0 = False
1 = True
Weitere Informationen finden Sie unter Verwenden von Spaltensätzen.
Rückgabetypen
sql_variant
Ausnahmen
Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.
Ein Benutzer kann nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. OBJECTPROPERTYEX, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten und unter Behandlung von Problemen bei der Sichtbarkeit von Metadaten.
Hinweise
Database Engine (Datenbankmodul) setzt voraus, dass sich object_id im aktuellen Datenbankkontext befindet. Eine Abfrage, die auf einen Wert von object_id in einer anderen Datenbank verweist, gibt NULL oder falsche Ergebnisse zurück. Beispielsweise ist der aktuelle Datenbankkontext in der folgenden Abfrage die master-Datenbank. Database Engine (Datenbankmodul) versucht, den Eigenschaftswert für den angegebenen Wert von object_id in dieser Datenbank statt in der Datenbank, die in der Abfrage angegeben ist, zurückzugeben. Die Abfrage gibt falsche Ergebnisse zurück, da sich die vEmployee-Sicht nicht in der master-Datenbank befindet.
USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2008R2.HumanResources.vEmployee'), 'IsView');
GO
OBJECTPROPERTYEX(view_id, 'IsIndexable') hat möglicherweise einen hohen Verbrauch an Computerressourcen, da die Auswertung der IsIndexable-Eigenschaft das Analysieren der Sichtdefinition, die Normalisierung und die partielle Optimierung erfordert. Obwohl die IsIndexable-Eigenschaft Tabellen oder Sichten identifiziert, die indiziert werden können, kann die tatsächliche Erstellung des Indexes dennoch fehlschlagen, wenn bestimmte Indexschlüsselanforderungen nicht erfüllt sind. Weitere Informationen finden Sie unter CREATE INDEX (Transact-SQL).
OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') gibt den Wert 1 (True) zurück, wenn mindestens eine Spalte einer Tabelle für die Indizierung hinzugefügt wurde. Die Volltextindizierung wird für das Auffüllen aktiviert, sobald die erste Spalte für die Indizierung hinzugefügt wird.
Einschränkungen für die Sichtbarkeit von Metadaten werden auf das Resultset angewendet. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.
Beispiele
A. Suchen des Basistyps eines Objekts
Im folgenden Beispiel wird mithilfe von SYNONYM MyEmployeeTable ein Synonym für die Employee-Tabelle in der AdventureWorks2008R2-Datenbank erstellt und anschließend der Basistyp von SYNONYM zurückgegeben.
USE AdventureWorks2008R2;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO
Das Resultset zeigt, dass es sich bei dem Basistyp des zugrunde liegenden Objekts, der Employee-Tabelle, um eine Benutzertabelle handelt.
Base Type
--------
U
B. Zurückgeben eines Eigenschaftswerts
Im folgenden Beispiel wird die Anzahl der UPDATE-Trigger für die angegebene Tabelle zurückgegeben.
USE AdventureWorks2008R2;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO
C. Suchen von Tabellen, die eine FOREIGN KEY-Einschränkung aufweisen
Im folgenden Beispiel wird die TableHasForeignKey-Eigenschaft verwendet, um alle Tabellen zurückzugeben, die eine FOREIGN KEY-Einschränkung aufweisen.
USE AdventureWorks2008R2;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO
Siehe auch