Бөлісу құралы:


OBJECTPROPERTYEX (Transact-SQL)

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

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

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

Синтаксис

OBJECTPROPERTYEX ( id , property )  

Аргументы

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

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

Примечание.

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

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

Не NULL = тип объекта

Базовый тип данных: 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). Пользователи, не имеющие доступа к системным таблицам или файлам баз данных, не могут получить текст, подвергнутый запутыванию. Однако этот текст будет доступен пользователям, которые имеют либо доступ к системным таблицам через порт DAC, либо непосредственный доступ к файлам баз данных. Кроме того, пользователь, имеющий возможность подключить отладчик к серверному процессу, сможет получить исходный текст процедуры из памяти во время выполнения.

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) всегда возвращают в качестве родителя один и тот же идентификатор владельца.

Не NULL = идентификатор пользователя базы данных — владельца объекта.

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

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

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

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

0 = нет

1 = чтение

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

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

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

Не NULL = Число триггеров DELETE.

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

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

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

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

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

1 = TRUE

0 = FALSE

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

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

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

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

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

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

1 = TRUE

0 = FALSE

Базовый тип данных: 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 = таблица не содержит полнотекстового индекса.

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

NonNULL = число строк, которые были полнотекстово проиндексированы.

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

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

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

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

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

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

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

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

sql_variant

Исключения

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

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

Замечания

В ядро СУБД предполагается, что 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), если хотя бы один из столбцов таблицы был добавлен для индексирования. Заполнение полнотекстового индекса становится активным, как только для индексирования добавлен хотя бы один столбец.

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

Примеры

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

В следующем примере производится создание синонима MyEmployeeTable для таблицы Employee в базе данных AdventureWorks2022, а затем для него определяется базовый тип.

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  

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

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

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   

См. также

CREATE SYNONYM (Transact-SQL)
Функции метаданных (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)
OBJECT_ID (Transact-SQL)
OBJECT_NAME (Transact-SQL)
sys.objects (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
TYPEPROPERTY (Transact-SQL)