sys.sql_modules (Transact-SQL)

Содержит по одной строке для каждого объекта, являющегося модулем, определенным на языке SQL. Объекты типа P, RF, V, TR, FN, IF, TF и R имеют сопоставленный с ними SQL модуль. Изолированные значения по умолчанию и объекты типа D в этом представлении также имеют определение SQL модуля. Описания указанных типов представлены в столбце type представления каталога sys.objects.

Имя столбца

Тип данных

Описание

object_id

int

Идентификатор объекта, содержащего данный объект. Уникален в пределах базы данных.

definition

nvarchar(max)

Текст на языке SQL, определяющий этот модуль.

NULL = Зашифрован.

uses_ansi_nulls

bit

Модуль был создан с параметром SET ANSI_NULLS ON.

Всегда будет равен 0 (нулю) для правил и умолчаний.

uses_quoted_identifier

bit

Модуль был создан с параметром SET QUOTED_IDENTIFIER ON.

is_schema_bound

bit

Модуль был создан с параметром SCHEMABINDING.

uses_database_collation

bit

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

is_recompiled

bit

Процедура была создана с параметром WITH RECOMPILE.

null_on_null_input

bit

Модуль был объявлен, чтобы обеспечить выходные значения NULL для любых входных значений NULL.

execute_as_principal_id

Int

ID-идентификатор участника базы данных, указанного в инструкции EXECUTE AS.

По умолчанию и в случае EXECUTE AS CALLER имеет значение NULL.

Идентификатор указанного участника для EXECUTE AS SELF или EXECUTE AS <участник (principal)>.

-2 = EXECUTE AS OWNER.

Замечания

Выражение SQL для ограничения DEFAULT, являющегося объектом типа D, отображается в представлении каталога sys.default_constraints. Выражение SQL для ограничения CHECK, являющегося объектом типа C, отображается в представлении каталога sys.check_constraints.

Эти сведения также приведены в sys.dm_db_uncontained_entities (Transact-SQL).

Разрешения

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

Примеры

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

SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
ORDER BY o.type;
GO

См. также

Справочник

Представления каталога (Transact-SQL)

Представления каталога объектов (Transact-SQL)

Основные понятия

Часто задаваемые вопросы о запросах к системному каталогу сервера SQL Server