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)