sys.sql_modules (Transact-SQL)sys.sql_modules (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Возвращает строку для каждого объекта, являющегося в модулем, определенным на языке SQL SQL ServerSQL Server, включая изначально скомпилированные скалярной определяемой пользователем функции.Returns a row for each object that is an SQL language-defined module in SQL ServerSQL Server, including natively compiled scalar user-defined function. Объекты типа P, RF, V, TR, FN, IF, TF и R имеют сопоставленный с ними SQL модуль.Objects of type P, RF, V, TR, FN, IF, TF, and R have an associated SQL module. Изолированные значения по умолчанию и объекты типа D в этом представлении также имеют определение SQL модуля.Stand-alone defaults, objects of type D, also have an SQL module definition in this view. Описание этих типов, см. в разделе тип столбца в sys.objects представления каталога.For a description of these types, see the type column in the sys.objects catalog view.

Дополнительные сведения см. в разделе Скалярные определяемые пользователем функции для выполняющейся в памяти OLTP.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Имя столбцаColumn name Тип данныхData type ОписаниеDescription
object_idobject_id intint Идентификатор объекта, содержащего данный объект.ID of the object of the containing object. Уникален в базе данных.Is unique within a database.
Определениеdefinition nvarchar(max)nvarchar(max) Текст на языке SQL, определяющий этот модуль.SQL text that defines this module. Это значение можно получить с помощью OBJECT_DEFINITION встроенной функции.This value can also be obtained using the OBJECT_DEFINITION built-in function.

NULL = зашифрован.NULL = Encrypted.
uses_ansi_nullsuses_ansi_nulls bitbit Модуль был создан с параметром SET ANSI_NULLS ON.Module was created with SET ANSI_NULLS ON.

Всегда будет равен 0 (нулю) для правил и умолчаний.Will always be = 0 for rules and defaults.
uses_quoted_identifieruses_quoted_identifier bitbit Модуль был создан с параметром SET QUOTED_IDENTIFIER ON.Module was created with SET QUOTED_IDENTIFIER ON.
is_schema_boundis_schema_bound bitbit Модуль был создан с параметром SCHEMABINDING.Module was created with SCHEMABINDING option.

Всегда содержит значение 1 для скомпилированных собственными средствами хранимых процедур.Always contains a value of 1 for natively compiled stored procedures.
uses_database_collationuses_database_collation bitbit 1 = определение модуля, ограниченное схемой, зависит от принятых по умолчанию параметров сортировки базы данных для правильной оценки; в противном случае — 0.1 = Schema-bound module definition depends on the default-collation of the database for correct evaluation; otherwise, 0. Такая зависимость предотвращает изменение параметров сортировки по умолчанию для базы данных.Such a dependency prevents changing the database's default collation.
is_recompiledis_recompiled bitbit Процедура была создана с параметром WITH RECOMPILE.Procedure was created WITH RECOMPILE option.
null_on_null_inputnull_on_null_input bitbit Модуль был объявлен, чтобы обеспечить выходные значения NULL для любых входных значений NULL.Module was declared to produce a NULL output on any NULL input.
execute_as_principal_idexecute_as_principal_id IntInt ID-идентификатор участника базы данных, указанного в инструкции EXECUTE AS.ID of the EXECUTE AS database principal.

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

Идентификатор заданного участника, если EXECUTE AS SELF или EXECUTE AS <участника >.ID of the specified principal if EXECUTE AS SELF or EXECUTE AS <principal>.

-2 = EXECUTE AS OWNER.-2 = EXECUTE AS OWNER.
uses_native_compilationuses_native_compilation bitbit Применимо к: с SQL Server 2014 (12.x)SQL Server 2014 (12.x) до SQL Server 2014 (12.x)SQL Server 2014 (12.x).Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2014 (12.x)SQL Server 2014 (12.x).

0 = не скомпилированы в собственном коде0 = not natively compiled

1 = скомпилированы в собственном коде1 = is natively compiled

Значение по умолчанию — 0.The default value is 0.
is_inlineableis_inlineable bitbit Область применения: SQL Server 2019 (15.x)SQL Server 2019 (15.x) и более поздних версий.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Указывает, является ли модуль inlineable или нет.Indicates whether the module is inlineable or not. Inlineability зависит от условий, заданных здесь.Inlineability is based on the conditions specified here.

0 = не inlineable0 = not inlineable

1 = является inlineable.1 = is inlineable.

Для определяемых пользователем скалярных функций значение будет равно 1, если определяемая пользователем Функция inlineable и 0 в противном случае.For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. Он всегда содержит значение 1 для Встроенные возвращающие табличное значение функции и 0 для всех других типов модуля.It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit Область применения: SQL Server 2019 (15.x)SQL Server 2019 (15.x) и более поздних версий.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Указывает ли встраивание включен для модуля в настоящее время.Indicates whether inlining is turned on for the module currently.

0 = встраивания находится в отключенном состоянии0 = inlining is turned off

1 = встраивания включен.1 = inlining is turned on.

Для скалярных определяемых пользователем функций, значение будет равно 1, если встроенные включен (явно или неявно).For scalar UDFs, the value will be 1 if inlining is turned on (explicitly or implicitly). Значение всегда равно 1 для Встроенные возвращающие табличное значение функции и 0 для других типов модуля.The value will always be 1 for inline TVFs, and 0 for other module types.

ПримечанияRemarks

Выражение SQL для ограничения по умолчанию, объект типа D, находится в sys.default_constraints представления каталога.The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. Выражение SQL для ПРОВЕРОЧНОГО ограничения объектом типа C, находится в sys.check_constraints представления каталога.The SQL expression for a CHECK constraint, object of type C, is found in the sys.check_constraints catalog view.

Эти сведения также описан в sys.dm_db_uncontained_entities (Transact-SQL).This information is also described in sys.dm_db_uncontained_entities (Transact-SQL).

РазрешенияPermissions

Видимость метаданных в представлениях каталогов ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. Дополнительные сведения см. в разделе Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

ПримерыExamples

В ходе выполнения представленного ниже примера выполняется отображение имен, типов и определений всех модулей в текущей базе данных.The following example returns the name, type, and definition of each module in the current database.

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  

См. такжеSee Also

Представления каталога (Transact-SQL) Catalog Views (Transact-SQL)
Представления каталога объектов (Transact-SQL) Object Catalog Views (Transact-SQL)
Запросив системный каталог SQL Server часто задаваемые вопросы Querying the SQL Server System Catalog FAQ
Выполняющаяся в памяти OLTP (оптимизация в памяти)In-Memory OLTP (In-Memory Optimization)