(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

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.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


OBJECTPROPERTYEX ( id , property )

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 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.

Hinweis Hinweis
Der 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 Crawl- 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

Dieses Feature 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 text in row-Option wurde 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.

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.

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'AdventureWorks.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.

A. Suchen des Basistyps eines Objekts

Im folgenden Beispiel wird mithilfe von SYNONYM MyEmployeeTable ein Synonym für die Employee-Tabelle in der AdventureWorks-Datenbank erstellt und anschließend der Basistyp von SYNONYM zurückgegeben.

USE AdventureWorks;
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 AdventureWorks;
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 AdventureWorks;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects 
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO


Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft