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


OBJECTPROPERTYEX (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

OBJECTPROPERTYEX ( id , property )

Аргументы

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

  • property
    Выражение, содержащее сведения, которые необходимо вернуть для объекта, указываемого идентификатором. Тип возвращаемого значения — 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

    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

    Любой объект области схемы

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

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

    Функция

    Встроенная функция:

    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

    Функция

    Скалярная функция:

    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

    Функция

    Функция, возвращающая табличное значение:

    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

    Таблица

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

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

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

    TableFullTextBackgroundUpdateIndexOn

    Таблица

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

    1 = TRUE

    0 = FALSE

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

    TableFulltextCatalogId

    Таблица

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

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

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

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

    TableFullTextChangeTrackingOn

    Таблица

    В таблице включено полнотекстовое отслеживание изменений:

    1 = TRUE

    0 = FALSE

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

    TableFulltextDocsProcessed

    Таблица

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

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

    > 0 = Один из следующих вариантов:

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

    • Число строк, обработанных операциями вставки или обновления с момента включения отслеживания изменений при фоновом заполнении индекса обновления, изменения схемы полнотекстового индекса, повторного построения полнотекстового каталога, перезапуска экземпляра SQL Server и т. д.

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

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

    Примечание   Это свойство не отслеживает и не подсчитывает удаленные строки.

    TableFulltextFailCount

    Таблица

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

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

    >0 = Один из следующих вариантов:

    • количество документов, не индексированных с начала заполнения отслеживания изменений полного, постепенного или ручного обновления;

    • Для отслеживания изменений с индексацией фонового обновления — число строк, которые не проиндексированы с начала или перезапуска заполнения. Это может быть вызвано изменением схемы, перестроением каталога, перезапуском сервера и т. д.

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

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

    TableFulltextItemCount

    Таблица

    Не NULL = Число строк, которые были успешно проиндексированы.

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

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

    TableFulltextKeyColumn

    Таблица

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

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

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

    TableFulltextPendingChanges

    Таблица

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

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

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

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

    TableFulltextPopulateStatus

    Таблица

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

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

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

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

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

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

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

    TableHasActiveFulltextIndex

    Таблица

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

    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

    Таблица

    Таблица реально не существует. Компонент Database Engine материализует ее внутренним образом по запросу.

    1 = True

    0 = False

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

    TableIsLockedOnBulkLoad

    Таблица

    Таблица блокирована bcp или заданием BULK INSERT:

    1 = True

    0 = False

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

    TableIsPinned

    Таблица

    Таблица закреплена для хранения в кэше данных.

    0 = False

    Эта функция не поддерживается в SQL Server 2005 и более поздних версиях.

    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_variant

Исключения

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

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

Замечания

Компонент Database Engine предполагает, что объект с идентификатором object_id находится в контексте текущей базы данных. Запрос, который ссылается на этот объект в другой базе данных, вернет значение NULL или неверный результат. Например: в следующем запросе контекст текущий базы данных — база данных master. Компонент Database Engine попытается вернуть значение свойства для указанного аргумента object_id в этой базе данных, а не в той, которая указана в запросе. Запрос возвращает неверные результаты, потому что представление vEmployee не содержится в базе данных master.

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

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

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

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

Примеры

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

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

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

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

Base Type 
-------- 
U 

Б. Получение значения свойства

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

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

В. Поиск таблиц с ограничением внешнего ключа

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

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