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 DescriptionDescription
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.

ИДЕНТИФИКАТОР указанного участника, если он выполняется как SELF или выполняется как <основной>.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.

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

0 = невстраиваемые0 = not inlineable

1 = является встроенным.1 = is inlineable.

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

RemarksRemarks

Выражение 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.Дополнительные сведения см. в разделе Настройка видимости метаданных.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)