Поделиться через


OBJECTPROPERTYEX (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в Microsoft Fabric

Функция OBJECTPROPERTYEX возвращает сведения о объектах с областью схемы в текущей базе данных.

Список этих объектов см. в разделе sys.objects (Transact-SQL). OBJECTPROPERTYEX нельзя использовать для объектов, которые не ограничены схемой, например триггеры языка определения данных (DDL) и уведомления о событиях.

Соглашения о синтаксисе Transact-SQL

Синтаксис

OBJECTPROPERTYEX ( id , property )

Аргументы

ИДЕНТИФИКАТОР

Выражение, представляющее идентификатор объекта в текущей базе данных. Идентификатор является int и считается объектом с областью действия схемы в текущем контексте базы данных.

свойство

Выражение, содержащее сведения, возвращаемые для объекта, указанного идентификатором. Тип возвращаемого значения — sql_variant. В следующей таблице перечислены базовые типы данных для каждого из свойств.

Примечание.

Если не указано иное, NULL возвращается, если свойство не является допустимым именем свойства, идентификатор не является допустимым идентификатором объекта, идентификатором является неподдерживаемый тип объекта для указанного свойства, или вызывающий объект не имеет разрешения на просмотр метаданных объекта.

Имя свойства Тип объекта Описание и возвращаемые значения
BaseType Любой объект области схемы Идентифицирует базовый тип объекта. Если указанный SYNONYMобъект является объектом, возвращается базовый тип базового объекта.

Непустый = тип объекта

Базовый тип данных: char(2)
CnstIsClustKey Ограничение PRIMARY KEY ограничение с кластеризованным индексом.

1 = true

0 = False.

Базовый тип данных: int
CnstIsColumn Ограничение CHECK, DEFAULTили FOREIGN KEY ограничение для одного столбца.

1 = true

0 = False.

Базовый тип данных: int
CnstIsDeleteCascade Ограничение FOREIGN KEY ограничение с параметром ON DELETE CASCADE .

1 = true

0 = False.

Базовый тип данных: int
CnstIsDisabled Ограничение Отключенное ограничение.

1 = true

0 = False.

Базовый тип данных: int
CnstIsNonclustKey Ограничение PRIMARY KEY ограничение с некластеризованным индексом.

1 = true

0 = False.

Базовый тип данных: int
CnstIsNotRepl Ограничение Ограничение определяется с помощью NOT FOR REPLICATION ключевых слов.

1 = true

0 = False.

Базовый тип данных: int
CnstIsNotTrusted Ограничение Ограничение было включено без проверки существующих строк, Поэтому ограничение может не содержаться для всех строк.

1 = true

0 = False.

Базовый тип данных: int
CnstIsUpdateCascade Ограничение FOREIGN KEY ограничение с параметром ON UPDATE CASCADE .

1 = true

0 = False.

Базовый тип данных: int
ExecIsAfterTrigger Триггер AFTER триггер.

1 = true

0 = False.

Базовый тип данных: int
ExecIsAnsiNullsOn Функция Transact-SQL, процедура Transact-SQL, триггер Transact-SQL, представление Параметр ANSI_NULLS во время создания.

1 = true

0 = False.

Базовый тип данных: int
ExecIsDeleteTrigger Триггер DELETE триггер.

1 = true

0 = False.

Базовый тип данных: int
ExecIsFirstDeleteTrigger Триггер Первый триггер, который запускается при DELETE выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsFirstInsertTrigger Триггер Первый триггер, который запускается при INSERT выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsFirstUpdateTrigger Триггер Первый триггер, который запускается при UPDATE выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsInsertTrigger Триггер INSERT триггер.

1 = true

0 = False.

Базовый тип данных: int
ExecIsInsteadOfTrigger Триггер INSTEAD OF триггер.

1 = true

0 = False.

Базовый тип данных: int
ExecIsLastDeleteTrigger Триггер Последний триггер запускается при DELETE выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsLastInsertTrigger Триггер Последний триггер запускается при INSERT выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsLastUpdateTrigger Триггер Последний триггер запускается при UPDATE выполнении таблицы.

1 = true

0 = False.

Базовый тип данных: int
ExecIsQuotedIdentOn Функция Transact-SQL, процедура Transact-SQL, триггер Transact-SQL, представление QUOTED_IDENTIFIER Настройка во время создания.

1 = true

0 = False.

Базовый тип данных: int
ExecIsStartup Процедура Процедура запуска.

1 = true

0 = False.

Базовый тип данных: int
ExecIsTriggerDisabled Триггер Триггер отключен.

1 = true

0 = False.

Базовый тип данных: int
ExecIsTriggerNotForRepl Триггер Триггер, определенный как NOT FOR REPLICATION.

1 = true

0 = False.

Базовый тип данных: int
ExecIsUpdateTrigger Триггер UPDATE триггер.

1 = true

0 = False.

Базовый тип данных: int
ExecIsWithNativeCompilation Процедура Transact-SQL относится к: SQL Server 2014 (12.x) и более поздним версиям.

Процедура компилируется в собственном коде.

1 = true

0 = False.

Базовый тип данных: int
HasAfterTrigger Таблица или представление Таблица или представление имеет AFTER триггер.

1 = true

0 = False.

Базовый тип данных: int
HasDeleteTrigger Таблица или представление Таблица или представление имеет DELETE триггер.

1 = true

0 = False.

Базовый тип данных: int
HasInsertTrigger Таблица или представление Таблица или представление имеет INSERT триггер.

1 = true

0 = False.

Базовый тип данных: int
HasInsteadOfTrigger Таблица или представление Таблица или представление имеет INSTEAD OF триггер.

1 = true

0 = False.

Базовый тип данных: int
HasUpdateTrigger Таблица или представление Таблица или представление имеет UPDATE триггер.

1 = true

0 = False.

Базовый тип данных: int
IsAnsiNullsOn Функция Transact-SQL, процедура Transact-SQL, таблица, триггер Transact-SQL, представление Указывает, что ANSI NULLS параметр таблицы имеет значение ON, то есть все сравнения со значением NULL.UNKNOWN Эта настройка относится ко всем выражениям в определении таблицы, включая вычисляемые столбцы и ограничения, в течение всего времени существования таблицы.

1 = true

0 = False.

Базовый тип данных: int
IsCheckCnst Любой объект области схемы CHECK ограничение.

1 = true

0 = False.

Базовый тип данных: int
IsConstraint Любой объект области схемы Ограничение:

1 = true

0 = False.

Базовый тип данных: int
IsDefault Любой объект области схемы Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Привязанное значение по умолчанию:

1 = true

0 = False.

Базовый тип данных: int
IsDefaultCnst Любой объект области схемы DEFAULT ограничение.

1 = true

0 = False.

Базовый тип данных: int
IsDeterministic Скалярная функция или функция с табличным значением, представление Свойство детерминизма функции или представления.

1 = детерминированная

0 = недетерминированная

Базовый тип данных: int
IsEncrypted Функция Transact-SQL, процедура Transact-SQL, таблица, триггер Transact-SQL, представление Указывает, что исходный текст инструкции модуля был преобразован в запутанный формат. Выходные данные обфускации не отображаются непосредственно в представлениях каталога в SQL Server 2005 (9.x). Пользователи, не имеющие доступа к системным таблицам или файлам баз данных, не могут получить текст, подвергнутый запутыванию. Однако текст доступен пользователям, которые могут получить доступ к системным таблицам через диагностическое подключение для администраторов баз данных или напрямую получить доступ к файлам базы данных. Кроме того, пользователь, имеющий возможность подключить отладчик к серверному процессу, сможет получить исходный текст процедуры из памяти во время выполнения.

1 = зашифрована

0 = не зашифрована

Базовый тип данных: int
IsExecuted Любой объект области схемы Указывает, может ли объект быть выполнен (представление, процедура, функция или триггер):

1 = true

0 = False.

Базовый тип данных: int
IsExtendedProc Любой объект области схемы Расширенная процедура.

1 = true

0 = False.

Базовый тип данных: int
IsForeignKey Любой объект области схемы FOREIGN KEY ограничение.

1 = true

0 = False.

Базовый тип данных: int
IsIndexed Таблица или представление Таблица или представление с индексом:

1 = true

0 = False.

Базовый тип данных: int
IsIndexable Таблица или представление Таблица или представление, для которого может быть создан индекс.

1 = true

0 = False.

Базовый тип данных: int
IsInlineFunction Function Встроенная функция.

1 = встроенная функция

0 = невстроенная функция

Базовый тип данных: int
IsMSShipped Любой объект области схемы Объект, созданный во время установки SQL Server.

1 = true

0 = False.

Базовый тип данных: int
IsPrecise Вычисляемый столбец, функция, определяемый пользователем тип, представление Указывает, содержит ли объект вычисления с потерей точности (например: операции с плавающей запятой):

1 = точные вычисления;

0 = вычисления с потерей точности.

Базовый тип данных: int
IsPrimaryKey Любой объект области схемы PRIMARY KEY ограничение.

1 = true

0 = False.

Базовый тип данных: int
IsProcedure Любой объект области схемы Процедура.

1 = true

0 = False.

Базовый тип данных: int
IsQuotedIdentOn CHECK ограничение, DEFAULT определение, функция Transact-SQL, процедура Transact-SQL, таблица, триггер Transact-SQL, представление Указывает, что параметр идентификатора кавычки для объекта имеет значение ON, то есть двойные кавычки идентификаторы разделителей во всех выражениях, участвующих в определении объекта.

1 = true

0 = False.

Базовый тип данных: int
IsQueue Любой объект области схемы Очередь компонента Service Broker

1 = true

0 = False.

Базовый тип данных: int
IsReplProc Любой объект области схемы Процедура репликации.

1 = true

0 = False.

Базовый тип данных: int
IsRule Любой объект области схемы Привязанное правило.

1 = true

0 = False.

Базовый тип данных: int
IsScalarFunction Function Скалярная функция.

1 = скалярная функция

0 = нескалярная функция

Базовый тип данных: int
IsSchemaBound Процедура, функция, представление Привязанная к схеме функция или представление, созданное с помощью SCHEMABINDING.

1 = привязана к схеме

0 = Не привязан к схеме.

Базовый тип данных: int
IsSystemTable Таблица Системная таблица.

1 = true

0 = False.

Базовый тип данных: int
IsSystemVerified Вычисляемый столбец, функция, определяемый пользователем тип, представление Свойства точности и детерминизма объекта могут быть проверены с помощью SQL Server.

1 = true

0 = False.

Базовый тип данных: int
IsTable Таблица Таблица.

1 = true

0 = False.

Базовый тип данных: int
IsTableFunction Function Функция с табличным значением.

1 = функция с табличным значением

0 = функция не с табличным значением

Базовый тип данных: int
IsTrigger Любой объект области схемы Триггер.

1 = true

0 = False.

Базовый тип данных: int
IsUniqueCnst Любой объект области схемы UNIQUE ограничение.

1 = true

0 = False.

Базовый тип данных: int
IsUserTable Таблица Пользовательская таблица.

1 = true

0 = False.

Базовый тип данных: int
IsView Представления Представление.

1 = true

0 = False.

Базовый тип данных: int
OwnerId Любой объект области схемы Владелец объекта.

Примечание. Владелец схемы необязательно является владельцем объекта. Например, дочерние объекты (те, где parent_object_id не имеет значения NULL), всегда возвращают тот же идентификатор владельца, что и родительский объект.

Non-null = идентификатор пользователя базы данных владельца объекта.

NULL = неподдерживаемый тип объекта или недопустимый идентификатор объекта.

Базовый тип данных: int
SchemaId Любой объект области схемы Идентификатор схемы, связанной с объектом.

Непустая = идентификатор схемы объекта.

Базовый тип данных: int
SystemDataAccess Функция или представление Объект обращается к системным данным, системным каталогам или таблицам виртуальной системы в локальном экземпляре SQL Server.

0 = нет

1 = чтение

Базовый тип данных: int
TableDeleteTrigger Таблица Таблица имеет DELETE триггер.

>1 = идентификатор первого триггера указанного типа.

Базовый тип данных: int
TableDeleteTriggerCount Таблица Таблица имеет указанное DELETE количество триггеров.

Nonnull = число триггеров DELETE

Базовый тип данных: int
TableFullTextMergeStatus Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Определяет, участвует ли в настоящий момент полнотекстовый индекс для таблицы в процессе слияния.

0 = для таблицы отсутствует полнотекстовый индекс, либо индекс не находится в процессе слияния.

1 = полнотекстовый индекс находится в процессе слияния.
TableFullTextBackgroundUpdateIndexOn Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Таблица содержит включенный полнотекстовый индекс (с автоматическим отслеживанием изменений) с фоновым обновлением:

1 = ИСТИННО

0 = ЛОЖНО

Базовый тип данных: int
TableFulltextCatalogId Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Идентификатор полнотекстового каталога, в котором находятся данные полнотекстового индекса для таблицы.

Не 0 = идентификатор полнотекстового каталога, связанный с уникальным индексом, идентифицирующим строки в полнотекстовой индексированной таблице.

0 = таблица не имеет полнотекстового индекса.

Базовый тип данных: int
TableFullTextChangeTrackingOn Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Для таблицы включено полнотекстовое отслеживание изменений.

1 = ИСТИННО

0 = ЛОЖНО

Базовый тип данных: int
TableFulltextDocsProcessed Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Количество строк, обработанных с начала полнотекстового индексирования. В таблице, которая индексируется для полнотекстового поиска, все столбцы одной строки рассматриваются как часть единого индексируемого документа.

0 = отсутствие активного сканирования или полнотекстовое индексирование закончено.

> 0 = Один из следующих вариантов (А или B): А) Количество документов, обработанных операциями вставки или обновления с момента запуска полного, инкрементного или ручного заполнения с отслеживанием изменений; B) Число строк, обработанных операциями вставки или обновления с момента запуска отслеживания изменений при фоновом заполнении индекса обновления, изменения схемы полнотекстового индекса, повторного построения полнотекстового каталога, перезапуска экземпляра SQL Server и т. д.

NULL = Таблица не имеет полнотекстового индекса.

Базовый тип данных: int

Примечание. Это свойство не отслеживает и не подсчитывает удаленные строки.
TableFulltextFailCount Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Число строк, не проиндексированных для полнотекстового поиска.

0 = Заполнение завершено.

>0 = один из следующих вариантов (А или B): А) Количество документов, не проиндексированных с момента запуска заполнения с отслеживанием изменений полного, инкрементного или ручного обновления; B) Для отслеживания изменений при фоновом обновлении индекса — число не проиндексированных строк с момента начала или перезапуска заполнения. Это может быть вызвано изменением схемы, перестройкой каталога, перезапуском сервера и т. д.

NULL = Таблица не имеет Full-Text индекса.

Базовый тип данных: int
TableFulltextItemCount Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Ненулевое значение = число строк, которые были успешно индексированы в полнотекстовом формате.

NULL = Таблица не имеет полнотекстового индекса.

Базовый тип данных: int
TableFulltextKeyColumn Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Идентификатор столбца, связанного с одностолбцовым уникальным индексом, который является частью определения полнотекстового индекса и семантического индекса.

0 = таблица не имеет полнотекстового индекса.

Базовый тип данных: int
TableFulltextPendingChanges Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Количество ожидающих отслеженных изменений к обработке.

0 = Отслеживание изменений не включено.

NULL = Таблица не имеет полнотекстового индекса.

Базовый тип данных: int
TableFulltextPopulateStatus Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

0 = Бездействует.

1 = Производится полное заполнение.

2 = Производится добавочное заполнение.

3 = Выполняется распространение отслеженных изменений.

4 = выполняется индексирование фонового обновления (например автоматическое отслеживание изменений).

5 = Полнотекстовое индексирование приостановлено, или не хватает ресурсов на его выполнение.

6 = Произошла ошибка. Подробные сведения см. в журнале обхода контента. Дополнительные сведения см. в разделе Устранение ошибок в заполнении средства полнотекстового поиска (сканирование) статьи Заполнение полнотекстовых индексов.

Базовый тип данных: int
TableFullTextSemanticExtraction Таблица относится к: SQL Server 2012 (11.x) и более поздним версиям.

Таблица поддерживает семантическое индексирование.

1 = true

0 = False.

Базовый тип данных: int
TableHasActiveFulltextIndex Таблица Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Таблица имеет активный полнотекстовый индекс.

1 = true

0 = False.

Базовый тип данных: int
TableHasCheckCnst Таблица Таблица имеет CHECK ограничение.

1 = true

0 = False.

Базовый тип данных: int
TableHasClustIndex Таблица Таблица имеет кластеризованный индекс.

1 = true

0 = False.

Базовый тип данных: int
TableHasDefaultCnst Таблица Таблица имеет DEFAULT ограничение.

1 = true

0 = False.

Базовый тип данных: int
TableHasDeleteTrigger Таблица Таблица имеет DELETE триггер.

1 = true

0 = False.

Базовый тип данных: int
TableHasForeignKey Таблица Таблица имеет FOREIGN KEY ограничение.

1 = true

0 = False.

Базовый тип данных: int
TableHasForeignRef Таблица Таблица ссылается на FOREIGN KEY ограничение.

1 = true

0 = False.

Базовый тип данных: int
TableHasIdentity Таблица Таблица содержит столбец идентификаторов.

1 = true

0 = False.

Базовый тип данных: int
TableHasIndex Таблица Таблица имеет индекс какого-либо типа.

1 = true

0 = False.

Базовый тип данных: int
TableHasInsertTrigger Таблица Объект имеет INSERT триггер.

1 = true

0 = False.

Базовый тип данных: int
TableHasNonclustIndex Таблица Таблица содержит некластеризованный индекс:

1 = true

0 = False.

Базовый тип данных: int
TableHasPrimaryKey Таблица Таблица содержит первичный ключ.

1 = true

0 = False.

Базовый тип данных: int
TableHasRowGuidCol Таблица Таблица содержит ROWGUIDCOLстолбец uniqueidentifier .

1 = true

0 = False.

Базовый тип данных: int
TableHasTextImage Таблица Таблица содержит столбец text, ntext или image.

1 = true

0 = False.

Базовый тип данных: int
TableHasTimestamp Таблица Таблица содержит столбец timestamp.

1 = true

0 = False.

Базовый тип данных: int
TableHasUniqueCnst Таблица Таблица имеет UNIQUE ограничение.

1 = true

0 = False.

Базовый тип данных: int
TableHasUpdateTrigger Таблица Объект имеет UPDATE триггер.

1 = true

0 = False.

Базовый тип данных: int
TableHasVarDecimalStorageFormat Таблица Для таблицы включен формат хранения vardecimal.

1 = true

0 = False.
TableInsertTrigger Таблица Таблица имеет INSERT триггер.

>1 = идентификатор первого триггера указанного типа.

Базовый тип данных: int
TableInsertTriggerCount Таблица Таблица имеет указанное INSERT количество триггеров.

>0 = количество триггеров INSERT .

Базовый тип данных: int
TableIsFake Таблица Таблица реально не существует. Материализуется на внутреннем уровне по запросу ядра СУБД.

1 = true

0 = False.

Базовый тип данных: int
TableIsLockedOnBulkLoad Таблица Таблица заблокирована, так как bcp или BULK INSERT задание.

1 = true

0 = False.

Базовый тип данных: int
TableIsMemoryOptimized Таблица относится к: SQL Server 2014 (12.x) и более поздним версиям.

Таблица, оптимизированная для памяти

1 = true

0 = False.

Базовый тип данных: int

Дополнительные сведения см. в разделеIn-Memory обзоре и сценариях использования OLTP.
TableIsPinned Таблица Таблица закреплена для хранения в кэше данных.

0 = False.

Эта функция не поддерживается в SQL Server 2005 (9.x) и в более новых версиях.
TableTextInRowLimit Таблица Для таблицы установлен параметр TEXT IN ROW.

> 0 = максимальная длина текста в строке (в байтах).

0 = Параметр текста в строке не установлен.

Базовый тип данных: int
TableUpdateTrigger Таблица Таблица имеет UPDATE триггер.

> 1 = идентификатор первого триггера указанного типа.

Базовый тип данных: int
TableUpdateTriggerCount Таблица Таблица имеет указанное количество триггеров UPDATE .

> 0 = количество триггеров UPDATE .

Базовый тип данных: int
UserDataAccess Функция или представление Указывает, что объект обращается к пользовательским данным, пользовательским таблицам в локальном экземпляре SQL Server.

1 = чтение

0 = нет

Базовый тип данных: int
TableHasColumnSet Таблица Таблица содержит набор столбцов.

0 = False.

1 = true

Дополнительные сведения см. в разделе "Использование наборов столбцов".
Cardinality Таблица (системная или определяемая пользователем), представление или индекс относится к: SQL Server 2012 (11.x) и более поздним версиям.

Количество строк в указанном объекте.
TableTemporalType Таблица относится к: SQL Server 2016 (13.x) и более поздним версиям.

Задает тип таблицы:

0 = нетемпоральная таблица;

1 = таблица журнала для таблицы с управлением версиями;

2 = темпоральная таблица с управлением версиями.

Типы возвращаемых данных

sql_variant

Исключения

Возвращает ошибку NULL или если вызывающий объект не имеет разрешения на просмотр объекта.

Пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые пользователю были предоставлены разрешения. Это означает, что встроенные функции, такие как OBJECTPROPERTYEX, могут возвращать NULL , если у пользователя нет разрешений на объект. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".

Замечания

В ядро СУБД предполагается, что object_id находится в текущем контексте базы данных. Запрос, ссылающийся на object_id в другой базе данных, возвращает или неверные NULL результаты. Например, в следующем запросе текущий контекст базы данных является базой master данных. Ядро СУБД пытается вернуть значение свойства для указанного object_id в этой базе данных вместо базы данных, указанной в запросе. Запрос возвращает неверные результаты, так как представление vEmployee не находится в master базе данных.

USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTYEX(view_id, 'IsIndexable') может использовать значительные ресурсы компьютера, так как для оценки свойства IsIndexable требуется синтаксический анализ определения представления, нормализации и частичной оптимизации. Даже если свойство IsIndexable определяет, что таблицы или представления могут быть проиндексированы, фактическое создание индекса может завершиться ошибкой, если не выполняются требования к ключу индекса. Дополнительные сведения см. в статье CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') возвращает значение 1 (true), если для индексирования добавляется по крайней мере один столбец таблицы. Заполнение полнотекстового индекса становится активным, как только для индексирования добавлен хотя бы один столбец.

К результирующему набору применяются ограничения на видимость метаданных. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".

Примеры

А. Поиск базового типа объекта

В следующем примере создается SYNONYMMyEmployeeTableEmployee таблица в AdventureWorks2025 базе данных, а затем возвращается базовый SYNONYMтип.

USE AdventureWorks2022;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO

Результирующий набор показывает, что базовым типом соответствующего объекта, таблицы Employee, является пользовательская таблица.

Base Type
--------
U

B. Возвращает значение свойства

В следующем примере возвращается количество UPDATE триггеров в указанной таблице.

USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO

В. Поиск таблиц с ограничением FOREIGN KEY

В следующем примере свойство используется TableHasForeignKey для возврата всех таблиц с ограничением FOREIGN KEY .

USE AdventureWorks2022;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

Г. Определение базового типа объекта

В представленном ниже примере возвращается базовый тип объекта dbo.DimReseller.

-- Uses AdventureWorks

SELECT OBJECTPROPERTYEX ( object_id(N'dbo.DimReseller'), N'BaseType')AS BaseType;

Результирующий набор показывает, что базовым типом соответствующего объекта, таблицы dbo.DimReseller, является пользовательская таблица.

BaseType
--------
U