Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt Informationen zu schemabezogenen Objekten in der aktuellen Datenbank zurück. Eine Liste der schemabezogenen Objekte finden Sie unter sys.objects (Transact-SQL). Diese Funktion kann nicht für Objekte ohne Schemabereich verwendet werden, wie z. B. DDL-Trigger (DDL, Data Definition Language) und Ereignisbenachrichtigungen.
Transact-SQL-Syntaxkonventionen
Syntax
OBJECTPROPERTY ( ID , property )
Argumente
ID
Ausdruck, der die ID des Objekts in der aktuellen Datenbank darstellt. DIE ID ist int und wird als schemabezogenes Objekt im aktuellen Datenbankkontext angenommen.
property
Ausdruck, der die Informationen darstellt, die für das durch die ID angegebene Objekt zurückgegeben werden sollen. eigenschaft kann einer der folgenden Werte sein.
Hinweis
Sofern nicht anders angegeben, wird zurückgegeben, NULL wenn die Eigenschaft kein gültiger Eigenschaftsname ist, die ID keine gültige Objekt-ID ist, die ID ein nicht unterstützter Objekttyp für die angegebene Eigenschaft ist, oder der Aufrufer verfügt nicht über die Berechtigung, die Metadaten des Objekts anzuzeigen.
| Eigenschaftenname | Objekttyp | Beschreibung und Rückgabewerte |
|---|---|---|
CnstIsClustKey |
Constraint |
PRIMARY KEY Einschränkung mit einem gruppierten Index.1 = Wahr 0 = Falsch |
CnstIsColumn |
Constraint |
CHECK, DEFAULToder FOREIGN KEY Einschränkung für eine einzelne Spalte.1 = Wahr 0 = Falsch |
CnstIsDeleteCascade |
Constraint |
FOREIGN KEY Einschränkung mit der ON DELETE CASCADE Option.1 = Wahr 0 = Falsch |
CnstIsDisabled |
Constraint | Deaktivierte Einschränkung. 1 = Wahr 0 = Falsch |
CnstIsNonclustKey |
Constraint |
PRIMARY KEY oder UNIQUE Einschränkung mit einem nicht gruppierten Index.1 = Wahr 0 = Falsch |
CnstIsNotRepl |
Constraint | Die Einschränkung wird mithilfe der NOT FOR REPLICATION Schlüsselwörter definiert.1 = Wahr 0 = Falsch |
CnstIsNotTrusted |
Constraint | Einschränkung wurde aktiviert, ohne vorhandene Zeilen zu überprüfen; Daher kann die Einschränkung nicht für alle Zeilen enthalten sein. 1 = Wahr 0 = Falsch |
CnstIsUpdateCascade |
Constraint |
FOREIGN KEY Einschränkung mit der ON UPDATE CASCADE Option.1 = Wahr 0 = Falsch |
ExecIsAfterTrigger |
Trigger |
AFTER auslösen.1 = Wahr 0 = Falsch |
ExecIsAnsiNullsOn |
Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht | Einstellung zur ANSI_NULLS Erstellungszeit.1 = Wahr 0 = Falsch |
ExecIsDeleteTrigger |
Trigger |
DELETE auslösen.1 = Wahr 0 = Falsch |
ExecIsFirstDeleteTrigger |
Trigger | Der erste Trigger wird ausgelöst, wenn eine DELETE für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsFirstInsertTrigger |
Trigger | Der erste Trigger wird ausgelöst, wenn eine INSERT für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsFirstUpdateTrigger |
Trigger | Der erste Trigger wird ausgelöst, wenn eine UPDATE für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsInsertTrigger |
Trigger |
INSERT auslösen.1 = Wahr 0 = Falsch |
ExecIsInsteadOfTrigger |
Trigger |
INSTEAD OF auslösen.1 = Wahr 0 = Falsch |
ExecIsLastDeleteTrigger |
Trigger | Letzter Trigger ausgelöst, wenn eine DELETE für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsLastInsertTrigger |
Trigger | Letzter Trigger ausgelöst, wenn ein INSERT Trigger für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsLastUpdateTrigger |
Trigger | Letzter Trigger ausgelöst, wenn ein UPDATE Trigger für die Tabelle ausgeführt wird.1 = Wahr 0 = Falsch |
ExecIsQuotedIdentOn |
Transact-SQL-Funktion, Transact-SQL-Prozedur, Transact-SQL-Trigger, Sicht | Einstellung zur QUOTED_IDENTIFIER Erstellungszeit.1 = Wahr 0 = Falsch |
ExecIsStartup |
Verfahren | Autostartprozedur. 1 = Wahr 0 = Falsch |
ExecIsTriggerDisabled |
Trigger | Deaktivierter Trigger. 1 = Wahr 0 = Falsch |
ExecIsTriggerNotForRepl |
Trigger | Trigger definiert als NOT FOR REPLICATION.1 = Wahr 0 = Falsch |
ExecIsUpdateTrigger |
Trigger |
UPDATE auslösen.1 = Wahr 0 = Falsch |
ExecIsWithNativeCompilation |
Transact-SQL-Prozedur |
Gilt für: SQL Server 2014 (12.x) und höhere Versionen. Die Prozedur wird systemintern kompiliert. 1 = Wahr 0 = Falsch Basisdatentyp: int |
HasAfterTrigger |
Tabelle oder Ansicht | Tabelle oder Ansicht hat einen AFTER Trigger.1 = Wahr 0 = Falsch |
HasDeleteTrigger |
Tabelle oder Ansicht | Tabelle oder Ansicht hat einen DELETE Trigger.1 = Wahr 0 = Falsch |
HasInsertTrigger |
Tabelle oder Ansicht | Tabelle oder Ansicht hat einen INSERT Trigger.1 = Wahr 0 = Falsch |
HasInsteadOfTrigger |
Tabelle oder Ansicht | Tabelle oder Ansicht hat einen INSTEAD OF Trigger.1 = Wahr 0 = Falsch |
HasUpdateTrigger |
Tabelle oder Ansicht | Tabelle oder Ansicht hat einen UPDATE Trigger.1 = Wahr 0 = Falsch |
IsAnsiNullsOn |
Transact-SQL-Funktion, Transact-SQL-Prozedur, Tabelle, Transact-SQL-Trigger, Sicht | Gibt an, dass die ANSI NULLS Optionseinstellung für die Tabelle lautet ON. Wenn ANSI NULLS dies der Wert istON, werden alle Vergleiche mit einem NULL Wert ausgewertet.UNKNOWN Diese Einstellung gilt für alle Ausdrücke in der Tabellendefinition, einschließlich berechneter Spalten und Einschränkungen, solange die Tabelle vorhanden ist.1 = Wahr 0 = Falsch |
IsCheckCnst |
Ein beliebiges schemabezogenes Objekt |
CHECK Zwang.1 = Wahr 0 = Falsch |
IsConstraint |
Ein beliebiges schemabezogenes Objekt | Ist eine einzelne Spalte CHECKoder DEFAULTFOREIGN KEY Einschränkung für eine Spalte oder Tabelle.1 = Wahr 0 = Falsch |
IsDefault |
Ein beliebiges schemabezogenes Objekt |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Gebundener Standard. 1 = Wahr 0 = Falsch |
IsDefaultCnst |
Ein beliebiges schemabezogenes Objekt |
DEFAULT Zwang.1 = Wahr 0 = Falsch |
IsDeterministic |
Funktion oder Ansicht | Die Determinismuseigenschaft der Funktion oder Sicht. 1 = Deterministisch 0 = Nicht deterministisch |
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 (9.x) 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 über die Diagnoseverbindung für Datenbankadministratoren auf Systemtabellen zugreifen oder direkt auf 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 schemabezogenes Objekt | Das Objekt kann ausgeführt werden (Sicht, Prozedur, Funktion oder Trigger). 1 = Wahr 0 = Falsch |
IsExtendedProc |
Ein beliebiges schemabezogenes Objekt | Erweiterte Prozedur. 1 = Wahr 0 = Falsch |
IsForeignKey |
Ein beliebiges schemabezogenes Objekt |
FOREIGN KEY Zwang.1 = Wahr 0 = Falsch |
IsIndexed |
Tabelle oder Ansicht | Eine Tabelle oder Sicht, die über einen Index verfügt. 1 = Wahr 0 = Falsch |
IsIndexable |
Tabelle oder Ansicht | Eine Tabelle oder Sicht, für die ein Index erstellt werden kann. 1 = Wahr 0 = Falsch |
IsInlineFunction |
Funktion | Inlinefunktion. 1 = Inlinefunktion 0 = Keine Inlinefunktion |
IsMSShipped |
Ein beliebiges schemabezogenes Objekt | Ein Objekt, das bei der Installation von SQL Server erstellt wurde. 1 = Wahr 0 = Falsch |
IsPrimaryKey |
Ein beliebiges schemabezogenes Objekt |
PRIMARY KEY Zwang.1 = Wahr 0 = Falsch NULL = Keine Funktion, oder Objekt-ID ist ungültig. |
IsProcedure |
Ein beliebiges schemabezogenes Objekt | Prozedur. 1 = Wahr 0 = Falsch |
IsQuotedIdentOn |
Transact-SQL Funktion, Transact-SQL Prozedur, Tabelle, Transact-SQL Trigger, Ansicht, CHECK Einschränkung, DEFAULT Definition |
Gibt an, dass die Einstellung für den zitierten Bezeichner für das Objekt ist ON. Das bedeutet, dass Begrenzungsbezeichner mit doppelten Anführungszeichen in allen Ausdrücken gekennzeichnet sind, die an der Objektdefinition beteiligt sind.1 = ON0 = OFF |
IsQueue |
Ein beliebiges schemabezogenes Objekt | Service Broker-Warteschlange. 1 = Wahr 0 = Falsch |
IsReplProc |
Ein beliebiges schemabezogenes Objekt | Replikationsprozedur. 1 = Wahr 0 = Falsch |
IsRule |
Ein beliebiges schemabezogenes Objekt | Gebundene Regel. 1 = Wahr 0 = Falsch |
IsScalarFunction |
Funktion | Skalarwertfunktion. 1 = Skalarwertfunktion 0 = Keine Skalarwertfunktion |
IsSchemaBound |
Funktion oder Ansicht | Eine schemagebundene Funktion oder Ansicht, die mithilfe von SCHEMABINDING.1 = Schemagebunden 0 = Nicht schemagebunden |
IsSystemTable |
Tabelle | Systemtabelle. 1 = Wahr 0 = Falsch |
IsSystemVerified |
Object | Die Eigenschaften für Determinismus und Genauigkeit des Objekts können von SQL Server überprüft werden. 1 = Wahr 0 = Falsch |
IsTable |
Tabelle | Tabelle. 1 = Wahr 0 = Falsch |
IsTableFunction |
Funktion | Tabellenwertfunktion. 1 = Tabellenwertfunktion 0 = Keine Tabellenwertfunktion |
IsTrigger |
Ein beliebiges schemabezogenes Objekt | Trigger. 1 = Wahr 0 = Falsch |
IsUniqueCnst |
Ein beliebiges schemabezogenes Objekt |
UNIQUE Zwang.1 = Wahr 0 = Falsch |
IsUserTable |
Tabelle | Benutzerdefinierte Tabelle. 1 = Wahr 0 = Falsch |
IsView |
Ansicht | Sicht. 1 = Wahr 0 = Falsch |
OwnerId |
Ein beliebiges schemabezogenes Objekt | Besitzer des Objekts. Hinweis: Der Schemabesitzer ist nicht notwendigerweise der Objektbesitzer. Untergeordnete Objekte (bei denen parent_object_id ungleich Null sind) geben beispielsweise immer dieselbe Besitzer-ID wie das übergeordnete Objekt zurück. Ungleich NULL = Die Datenbankbenutzer-ID des Objektbesitzers. |
SchemaId |
Ein beliebiges schemabezogenes Objekt | Die Schema-ID des Schemas, zu dem das Objekt gehört. |
TableDeleteTrigger |
Tabelle | Tabelle hat einen DELETE Trigger.> 1 = ID des ersten Triggers vom angegebenen Typ. |
TableDeleteTriggerCount |
Tabelle | Tabelle weist die angegebene Anzahl von DELETE Triggern auf.>0 = Die Anzahl der DELETE Trigger. |
TableFullTextMergeStatus |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen 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 |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Updates im Hintergrund für den Volltextindex der Tabelle sind aktiviert (automatisches Nachverfolgen von Änderungen). 1 = WAHR 0 = FALSCH |
TableFulltextCatalogId |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen 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. |
TableFulltextChangeTrackingOn |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Die Volltext-Änderungsnachverfolgung ist für die Tabelle aktiviert. 1 = WAHR 0 = FALSCH |
TableFulltextDocsProcessed |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen 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 (A oder B): A) Die Anzahl der seit dem Start der vollständigen, inkrementellen oder manuellen Änderungsnachverfolgung mithilfe von Einfüge- und Updatevorgängen verarbeiteten Dokumente. B) Die Anzahl der Zeilen, die von Einfüge- oder Aktualisierungsvorgängen verarbeitet wurden, da die Änderungsnachverfolgung mit der Indexgesamtheit für Hintergrundaktualisierungen aktiviert wurde, das Volltextindexschema geändert wurde, der Volltextkatalog neu erstellt wurde oder die Instanz von SQL Server neu gestartet wurde. NULL = Tabelle hat keinen Volltextindex.Diese Eigenschaft überwacht die Anzahl gelöschter Zeilen nicht und zählt sie auch nicht. |
TableFulltextFailCount |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Die Anzahl von Zeilen, für die die Volltextsuche keinen Index erstellt hat. 0 = Die Bevölkerung wurde abgeschlossen. > 0 = Eine der folgenden Möglichkeiten (A oder B): A) Die Anzahl der Dokumente, die seit dem Start der Auffüllung mithilfe der vollständigen, inkrementellen und manuellen Änderungsnachverfolgung für Updates nicht indiziert wurden. B) Bei der Änderungsnachverfolgung mit Indexupdate im Hintergrund die Anzahl der Zeilen, die seit dem Start der Auffüllung oder dem Neustart der Auffüllung nicht indiziert wurden. Ursache dafür kann eine Schemaänderung, eine Neuerstellung des Katalogs, ein Neustart des Servers usw. sein. NULL = Tabelle hat keinen Volltextindex. |
TableFulltextItemCount |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Die Anzahl von Zeilen, für die ein Volltextindex erfolgreich erstellt wurde. |
TableFulltextKeyColumn |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen ID der Spalte, die dem eindeutigen einspaltigen Index zugeordnet ist, der Teil der Definition des Volltextindexes ist. 0 = Die Tabelle besitzt keinen Volltextindex. |
TableFulltextPendingChanges |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Anzahl der zu verarbeitenden ausstehenden Änderungsnachverfolgungseinträge. 0 = Änderungsnachverfolgung ist nicht aktiviert. NULL = Tabelle hat keinen Volltextindex. |
TableFulltextPopulateStatus |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen 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 = Indexupdate im Hintergrund wird ausgeführt, z. B. automatische Änderungsnachverfolgung. 5 = Volltextindizierung wurde gedrosselt oder angehalten. |
TableHasActiveFulltextIndex |
Tabelle |
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen Die Tabelle besitzt einen aktiven Volltextindex. 1 = Wahr 0 = Falsch |
TableHasCheckCnst |
Tabelle | Tabelle weist eine CHECK Einschränkung auf.1 = Wahr 0 = Falsch |
TableHasClustIndex |
Tabelle | Die Tabelle besitzt einen gruppierten Index. 1 = Wahr 0 = Falsch |
TableHasDefaultCnst |
Tabelle | Tabelle weist eine DEFAULT Einschränkung auf.1 = Wahr 0 = Falsch |
TableHasDeleteTrigger |
Tabelle | Tabelle hat einen DELETE Trigger.1 = Wahr 0 = Falsch |
TableHasForeignKey |
Tabelle | Tabelle weist eine FOREIGN KEY Einschränkung auf.1 = Wahr 0 = Falsch |
TableHasForeignRef |
Tabelle | Auf die Tabelle wird durch eine FOREIGN KEY Einschränkung verwiesen.1 = Wahr 0 = Falsch |
TableHasIdentity |
Tabelle | Die Tabelle besitzt eine Identitätsspalte. 1 = Wahr 0 = Falsch |
TableHasIndex |
Tabelle | Die Tabelle besitzt einen Index beliebigen Typs. 1 = Wahr 0 = Falsch |
TableHasInsertTrigger |
Tabelle | Objekt hat einen INSERT Trigger.1 = Wahr 0 = Falsch |
TableHasNonclustIndex |
Tabelle | Die Tabelle besitzt einen nicht gruppierten Index. 1 = Wahr 0 = Falsch |
TableHasPrimaryKey |
Tabelle | Die Tabelle besitzt einen Primärschlüssel. 1 = Wahr 0 = Falsch |
TableHasRowGuidCol |
Tabelle | Tabelle verfügt über eine ROWGUIDCOL Spalte mit eindeutigen Identifizierern .1 = Wahr 0 = Falsch |
TableHasTextImage |
Tabelle | Die Tabelle besitzt eine text-, ntext- oder image-Spalte. 1 = Wahr 0 = Falsch |
TableHasTimestamp |
Tabelle | Die Tabelle besitzt eine timestamp-Spalte. 1 = Wahr 0 = Falsch |
TableHasUniqueCnst |
Tabelle | Tabelle weist eine UNIQUE Einschränkung auf.1 = Wahr 0 = Falsch |
TableHasUpdateTrigger |
Tabelle | Objekt hat einen UPDATE Trigger.1 = Wahr 0 = Falsch |
TableHasVarDecimalStorageFormat |
Tabelle | Die Tabelle lässt das vardecimal-Speicherformat zu. 1 = Wahr 0 = Falsch |
TableInsertTrigger |
Tabelle | Tabelle hat einen INSERT Trigger.> 1 = ID des ersten Triggers vom angegebenen Typ. |
TableInsertTriggerCount |
Tabelle | Tabelle weist die angegebene Anzahl von INSERT Triggern auf.>0 = Die Anzahl der INSERT Trigger. |
TableIsFake |
Tabelle | Die Tabelle ist in Wirklichkeit nicht vorhanden. Sie wird bei Bedarf durch SQL Server-Datenbank-Engine intern materialisiert. 1 = Wahr 0 = Falsch |
TableIsLockedOnBulkLoad |
Tabelle | Die Tabelle ist aufgrund eines bcp oder BULK INSERT auftrags gesperrt.1 = Wahr 0 = Falsch |
TableIsMemoryOptimized |
Tabelle |
Gilt für: SQL Server 2014 (12.x) und höhere Versionen. Tabelle ist speicheroptimiert 1 = Wahr 0 = Falsch Basisdatentyp: int Weitere Informationen finden Sie unter In-Memory OLTP-Übersichts- und Nutzungsszenarien. |
TableIsPinned |
Tabelle | Die Tabelle ist fixiert, damit sie im Datencache gespeichert wird. 0 = Falsch Dieses Feature wird in SQL Server 2005 (9.x) und höheren Versionen nicht unterstützt. |
TableTextInRowLimit |
Tabelle | Die maximal zulässige Anzahl Byte für text in row. Hat den Wert 0, wenn die Option text in row nicht festgelegt wurde. |
TableUpdateTrigger |
Tabelle | Tabelle hat einen UPDATE Trigger.> 1 = ID des ersten Triggers vom angegebenen Typ. |
TableUpdateTriggerCount |
Tabelle | Die Tabelle weist die angegebene Anzahl von UPDATE Triggern auf.> 0 = Die Anzahl der UPDATE Trigger. |
TableHasColumnSet |
Tabelle | Die Tabelle besitzt einen Spaltensatz. 0 = Falsch 1 = Wahr Weitere Informationen finden Sie unter Verwenden von Spaltensätzen. |
TableTemporalType |
Tabelle |
Gilt für: SQL Server 2016 (13.x) und höhere Versionen. Gibt den Typ der Tabelle an. 0 = Nicht temporale Tabelle 1 = Verlaufstabelle für die Tabelle mit Systemversionsverwaltung 2 = Temporale Tabelle mit Systemversionsverwaltung |
Rückgabetypen
int
Ausnahmen
Gibt NULL einen Fehler zurück oder wenn ein Aufrufer nicht über die Berechtigung zum Anzeigen des Objekts verfügt.
Berechtigungen
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 metadatenmittierende, integrierte Funktionen wie OBJECTPROPERTY rückgaben NULL , wenn der Benutzer keine Berechtigung für das Objekt besitzt. Weitere Informationen finden Sie in der Konfiguration der Metadatensichtbarkeit.
Bemerkungen
Datenbank-Engine setzt voraus, dass sich object_id im aktuellen Datenbankkontext befindet. Eine Abfrage, die auf eine object_id in einer anderen Datenbank verweist, gibt oder falsche Ergebnisse zurück NULL . In der folgenden Abfrage ist beispielsweise der aktuelle Datenbankkontext die master Datenbank. Das Datenbankmodul versucht, den Eigenschaftswert für die angegebene object_id in dieser Datenbank anstelle der in der Abfrage angegebenen Datenbank zurückzugeben. Die Abfrage gibt falsche Ergebnisse zurück, da sich die Ansicht vEmployee nicht in der master Datenbank befindet.
USE master;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO
OBJECTPROPERTY(view_id, 'IsIndexable') kann erhebliche Computerressourcen verbrauchen, da die Auswertung der IsIndexable-Eigenschaft die Analyse der Ansichtsdefinition, Normalisierung und 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).
OBJECTPROPERTY(table_id, 'TableHasActiveFulltextIndex') gibt einen Wert von 1 (true) zurück, wenn mindestens eine Spalte einer Tabelle für die Indizierung hinzugefügt wird. Die Volltextindizierung wird für das Auffüllen aktiviert, sobald die erste Spalte für die Indizierung hinzugefügt wird.
Wenn eine Tabelle erstellt wird, wird die QUOTED IDENTIFIER Option immer wie ON in den Metadaten der Tabelle gespeichert, auch wenn die Option auf OFF das Erstellen der Tabelle festgelegt ist.
OBJECTPROPERTY(table_id, 'IsQuotedIdentOn') Gibt daher immer einen Wert von 1 (true) zurück.
Beispiele
A. Überprüfen, ob ein Objekt eine Tabelle ist
Im folgenden Beispiel wird getestet, ob UnitMeasure in der AdventureWorks2025-Datenbank eine Tabelle ist.
USE AdventureWorks2022;
GO
IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 1
PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 0
PRINT 'UnitMeasure is not a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') IS NULL
PRINT 'ERROR: UnitMeasure is not a valid object.';
GO
B. Überprüfen, ob eine benutzerdefinierte skalare Funktion deterministisch ist
Im folgenden Beispiel wird getestet, ob die benutzerdefinierte Skalarwertfunktion ufnGetProductDealerPrice, die einen Wert vom Typ money zurückgibt, deterministisch ist.
USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetProductDealerPrice'), 'IsDeterministic');
GO
Das Resultset zeigt, dass ufnGetProductDealerPrice keine deterministische Funktion ist.
-----
0
C: Suchen der Tabellen, die zu einem bestimmten Schema gehören
Im folgenden Beispiel werden alle Tabellen im dbo Schema zurückgegeben.
-- Uses AdventureWorks
SELECT schema_name(o.schema_id), o.name, o.object_id, o.type_desc
FROM sys.objects AS o
WHERE OBJECTPROPERTY(o.object_id, N'SchemaId') = SCHEMA_ID(N'dbo')
ORDER BY o.type_desc, o.name;
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
D: Überprüfen, ob ein Objekt eine Tabelle ist
Im folgenden Beispiel wird getestet, ob dbo.DimReseller in der AdventureWorksPDW2022-Datenbank eine Tabelle ist.
-- Uses AdventureWorks
IF OBJECTPROPERTY (OBJECT_ID(N'dbo.DimReseller'),'ISTABLE') = 1
SELECT 'DimReseller is a table.'
ELSE
SELECT 'DimReseller is not a table.';
GO