Wenn man die Tabelle sys.objects abfragt, stößt man auf die Spalte type und type_desc. Dabei handelt es sich um die Objekt-Typen der jeweiligen Objekte.

Man diese Objekttypen auch in Verbindung mit dem Befehlt Object_ID verwenden, um zu prüfen, ob das Objekt von einem bestimmten Typ ist. Ist beispielsweise die Tabelle “Test1” eine selbst erstellte Tabelle führt der erste Befehl zur ObjectID und der zweite Befehlt liefert NULL zurück, das das Objekt mit dem Namen zwar existiert, aber nicht vom Type S (System_Table) ist.

Select OBJECT_ID('Test1',N'U')
Select OBJECT_ID('Test1',N'S')
Object Type CodeObject typeDescription of the Object Type
AFAggregate function (CLR)AGGREGATE_FUNCTION
CCHECK constraintCHECK_CONSTRAINT
DDEFAULT (constraint or stand-alone)DEFAULT_CONSTRAINT
FFOREIGN KEY constraintFOREIGN_KEY_CONSTRAINT
FNSQL scalar functionSQL_SCALAR_FUNCTION
FSAssembly (CLR) scalar-functionCLR_SCALAR_FUNCTION
FTAssembly (CLR) table-valued functionCLR_TABLE_VALUED_FUNCTION
IFSQL inline table-valued functionSQL_INLINE_TABLE_VALUED_FUNCTION
ITInternal tableINTERNAL_TABLE
PSQL Stored ProcedureSQL_STORED_PROCEDURE
PCAssembly (CLR) stored-procedureCLR_STORED_PROCEDURE
PGPlan guidePLAN_GUIDE
PKPRIMARY KEY constraintPRIMARY_KEY_CONSTRAINT
RRule (old-style, stand-alone)RULE
RFReplication-filter-procedureREPLICATION_FILTER_PROCEDURE
SSystem base tableSYSTEM_TABLE
SNSynonymSYNONYM
SOSequence objectSEQUENCE_OBJECT
SQService queueSERVICE_QUEUE
TAAssembly (CLR) DML triggerCLR_TRIGGER
TFSQL table-valued-functionSQL_TABLE_VALUED_FUNCTION
TRSQL DML triggerSQL_TRIGGER
TTTable typeTABLE_TYPE
UTable (user-defined)USER_TABLE
UQUNIQUE constraintUNIQUE_CONSTRAINT
VViewVIEW
XExtended stored procedureEXTENDED_STORED_PROCEDURE