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

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Retorna uma linha para cada objeto que é um módulo definido pelo idioma do SQL no SQL ServerSQL Server, incluindo nativamente compilado função escalar definida pelo usuário.Returns a row for each object that is an SQL language-defined module in SQL ServerSQL Server, including natively compiled scalar user-defined function. Objetos de tipo P, RF, V, TR, FN, IF, TF e R têm um módulo SQL associado.Objects of type P, RF, V, TR, FN, IF, TF, and R have an associated SQL module. Padrões autônomos, objetos de tipo D, também têm uma definição de módulo SQL nessa exibição.Stand-alone defaults, objects of type D, also have an SQL module definition in this view. Para obter uma descrição desses tipos, consulte a tipo coluna o sys. Objects exibição do catálogo.For a description of these types, see the type column in the sys.objects catalog view.

Para obter mais informações, consulte Funções escalares definidas pelo usuário para OLTP in-memory.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
object_idobject_id intint ID do objeto contentor.ID of the object of the containing object. É exclusivo em um banco de dados.Is unique within a database.
definitiondefinition nvarchar(max)nvarchar(max) Texto SQL que define esse módulo.SQL text that defines this module. Esse valor também pode ser obtido usando o OBJECT_DEFINITION função interna.This value can also be obtained using the OBJECT_DEFINITION built-in function.

NULL = Criptografado.NULL = Encrypted.
uses_ansi_nullsuses_ansi_nulls bitbit O módulo foi criado com SET ANSI_NULLS ON.Module was created with SET ANSI_NULLS ON.

Sempre será = 0 para regras e padrões.Will always be = 0 for rules and defaults.
uses_quoted_identifieruses_quoted_identifier bitbit O módulo foi criado com SET QUOTED_IDENTIFIER ON.Module was created with SET QUOTED_IDENTIFIER ON.
is_schema_boundis_schema_bound bitbit O módulo foi criado com a opção SCHEMABINDING.Module was created with SCHEMABINDING option.

Sempre contém um valor de 1 para procedimentos armazenados compilados nativamente.Always contains a value of 1 for natively compiled stored procedures.
uses_database_collationuses_database_collation bitbit 1 = A definição de módulo associada a esquema depende do agrupamento padrão do banco de dados para avaliação correta; caso contrário, 0.1 = Schema-bound module definition depends on the default-collation of the database for correct evaluation; otherwise, 0. Tal dependência impede a alteração do agrupamento de padrão do banco de dados.Such a dependency prevents changing the database's default collation.
is_recompiledis_recompiled bitbit Procedimento foi criado a opção WITH RECOMPILE.Procedure was created WITH RECOMPILE option.
null_on_null_inputnull_on_null_input bitbit O módulo foi declarado para produzir uma saída NULL em qualquer entrada NULL.Module was declared to produce a NULL output on any NULL input.
execute_as_principal_idexecute_as_principal_id IntInt A identificação do principal de banco de dados EXECUTE AS.ID of the EXECUTE AS database principal.

NULL por padrão ou se EXECUTE AS CALLER.NULL by default or if EXECUTE AS CALLER.

ID da entidade especificada se EXECUTE AS SELF ou EXECUTE AS <principal >.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 Aplica-se a: do SQL Server 2014 (12.x)SQL Server 2014 (12.x) ao 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 = não compilado originalmente0 = not natively compiled

1 = é compilado originalmente1 = is natively compiled

O valor padrão é 0.The default value is 0.
is_inlineableis_inlineable bitbit Aplica-se a: SQL Server 2019 (15.x)SQL Server 2019 (15.x) e posterior.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Indica se o módulo é inlineable ou não.Indicates whether the module is inlineable or not. Capacidade de embutir baseia-se nas condições especificadas aqui.Inlineability is based on the conditions specified here.

0 = não inlineable0 = not inlineable

1 = é inlineable.1 = is inlineable.

Para UDFs escalares, o valor será 1 se a UDF for inlineable e 0, caso contrário.For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. Ele sempre contém um valor de 1 para TVFs embutidos e 0 para todos os outros tipos de módulo.It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit Aplica-se a: SQL Server 2019 (15.x)SQL Server 2019 (15.x) e posterior.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Indica se o inlining é ativada para o módulo no momento.Indicates whether inlining is turned on for the module currently.

0 = inlining está desativado0 = inlining is turned off

1 = inlining é ativado.1 = inlining is turned on.

Para UDFs escalares, o valor será 1 se o inlining é ativado (explícita ou implicitamente).For scalar UDFs, the value will be 1 if inlining is turned on (explicitly or implicitly). O valor será sempre 1 para embutido TVFs e 0 para outros tipos de módulo.The value will always be 1 for inline TVFs, and 0 for other module types.

ComentáriosRemarks

A expressão SQL para uma restrição padrão, o objeto do tipo D, é encontrada na sys. default_constraints exibição do catálogo.The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. A expressão SQL para uma restrição de verificação, o objeto do tipo C, é encontrada na sys. CHECK_CONSTRAINTS exibição do catálogo.The SQL expression for a CHECK constraint, object of type C, is found in the sys.check_constraints catalog view.

Essas informações também são descritas em DM db_uncontained_entities (Transact-SQL).This information is also described in sys.dm_db_uncontained_entities (Transact-SQL).

PermissõesPermissions

A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão.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. Para obter mais informações, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

ExemplosExamples

O exemplo a seguir retorna o nome, o tipo e a definição de cada módulo no banco de dados atual.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  

Consulte tambémSee Also

Exibições de catálogo (Transact-SQL) Catalog Views (Transact-SQL)
Exibições de catálogo de objeto(Transact-SQL) Object Catalog Views (Transact-SQL)
Consultando o catálogo de sistema do SQL Server perguntas Frequentes Querying the SQL Server System Catalog FAQ
OLTP in-memory (Otimização na memória)In-Memory OLTP (In-Memory Optimization)