sys.sql_modules (Transact-SQL)
Содержит по одной строке для каждого объекта, являющегося модулем, определенным на языке SQL в SQL Server. Объекты типа P, RF, V, TR, FN, IF, TF и R имеют сопоставленный с ними SQL модуль. Изолированные значения по умолчанию и объекты типа D в этом представлении также имеют определение SQL модуля. Описания указанных типов представлены в столбце type представления каталога sys.objects.
Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск). |
Имя столбца |
Тип данных |
Описание |
|
---|---|---|---|
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. Всегда содержит значение 1 для скомпилированных собственными средствами хранимых процедур. |
|
uses_database_collation |
bit |
1 = определение модуля, ограниченное схемой, зависит от принятых по умолчанию параметров сортировки базы данных для правильной оценки; в противном случае — 0. Такая зависимость предотвращает изменение параметров сортировки по умолчанию для базы данных. |
|
is_recompiled |
bit |
Процедура была создана с параметром WITH RECOMPILE. |
|
null_on_null_input |
bit |
Модуль был объявлен, чтобы обеспечить выходные значения NULL для любых входных значений NULL. |
|
execute_as_principal_id |
Int |
Идентификатор участника базы данных, указанного в инструкции EXECUTE AS. Значение NULL по умолчанию или для инструкции EXECUTE AS CALLER. Идентификатор указанного участника для EXECUTE AS SELF или EXECUTE AS <principal>. -2 = EXECUTE AS OWNER. |
|
uses_native_compilation |
bit |
0 = не скомпилированы в собственном коде 1 = скомпилированы в собственном коде Значение по умолчанию — 0.
|
Замечания
Выражение 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