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

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Devuelve una fila por cada objeto que es un módulo definido por el lenguaje SQL en SQL ServerSQL Server , incluida la función definida por el usuario escalar compilada de forma nativa.Returns a row for each object that is an SQL language-defined module in SQL ServerSQL Server, including natively compiled scalar user-defined function. Los objetos del tipo P, RF, V, TR, FN, IF, TF y R tienen un módulo SQL asociado.Objects of type P, RF, V, TR, FN, IF, TF, and R have an associated SQL module. Los valores predeterminados independientes, objetos del tipo D, también incluyen una definición de módulo SQL en esta vista.Stand-alone defaults, objects of type D, also have an SQL module definition in this view. Para obtener una descripción de estos tipos, vea la columna Type de la vista de catálogo Sys. Objects .For a description of these types, see the type column in the sys.objects catalog view.

Para obtener más información, vea Funciones escalares definidas por el usuario para OLTP en memoria.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Nombre de la columnaColumn name Tipo de datosData type DescripciónDescription
object_idobject_id intint Id. de objeto del objeto contenedor.ID of the object of the containing object. Es único en una base de datos.Is unique within a database.
definirdefinition nvarchar(max)nvarchar(max) Texto SQL que define este módulo.SQL text that defines this module. Este valor también se puede obtener mediante la función integrada OBJECT_DEFINITION .This value can also be obtained using the OBJECT_DEFINITION built-in function.

NULL = Cifrado.NULL = Encrypted.
uses_ansi_nullsuses_ansi_nulls bitbit Módulo creado con SET ANSI_NULLS ON.Module was created with SET ANSI_NULLS ON.

Siempre será = 0 para reglas y valores predeterminados.Will always be = 0 for rules and defaults.
uses_quoted_identifieruses_quoted_identifier bitbit Módulo creado con SET QUOTED_IDENTIFIER ON.Module was created with SET QUOTED_IDENTIFIER ON.
is_schema_boundis_schema_bound bitbit El módulo se ha creado con la opción SCHEMABINDING.Module was created with SCHEMABINDING option.

Siempre contiene el valor 1 para los procedimientos almacenados generados de forma nativa.Always contains a value of 1 for natively compiled stored procedures.
uses_database_collationuses_database_collation bitbit 1 = La definición del módulo enlazado a un esquema depende de la intercalación predeterminada de la base de datos para la evaluación correcta; en caso contrario, 0.1 = Schema-bound module definition depends on the default-collation of the database for correct evaluation; otherwise, 0. Este tipo de dependencia impide cambiar la intercalación predeterminada de la base de datos.Such a dependency prevents changing the database's default collation.
is_recompiledis_recompiled bitbit El procedimiento se ha creado con la opción WITH RECOMPILE.Procedure was created WITH RECOMPILE option.
null_on_null_inputnull_on_null_input bitbit Módulo declarado para generar una salida NULL en cualquier entrada NULL.Module was declared to produce a NULL output on any NULL input.
execute_as_principal_idexecute_as_principal_id IntInt Id. de la entidad de seguridad de base de datos EXECUTE AS.ID of the EXECUTE AS database principal.

NULL de manera predeterminada o si EXECUTE AS CALLER.NULL by default or if EXECUTE AS CALLER.

IDENTIFICADOR de la entidad de seguridad especificada si EXECUTe AS SELF o 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 Se aplica a: desde SQL Server 2014 (12.x)SQL Server 2014 (12.x) hasta 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 = no está compilado de forma nativa0 = not natively compiled

1 = está compilado de forma nativa1 = is natively compiled

El valor predeterminado es 0.The default value is 0.
is_inlineableis_inlineable bitbit Válido para : SQL Server 2019 (15.x)SQL Server 2019 (15.x) y versiones posteriores.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Indica si el módulo es insertable o no.Indicates whether the module is inlineable or not. La inlineity se basa en las condiciones especificadas aquí.Inlineability is based on the conditions specified here.

0 = no insertable0 = not inlineable

1 = es inlineable.1 = is inlineable.

En el caso de las UDF escalares, el valor será 1 si la UDF es insertable y 0 en caso contrario.For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. Siempre contiene un valor de 1 para TVF en línea y 0 para todos los demás tipos de módulos.It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit Válido para : SQL Server 2019 (15.x)SQL Server 2019 (15.x) y versiones posteriores.Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

Indica si la inserción está activada para el módulo actualmente.Indicates whether inlining is turned on for the module currently.

0 = la inclusión está desactivada0 = inlining is turned off

1 = la inserción está activada.1 = inlining is turned on.

En el caso de las UDF escalares, el valor será 1 si la inserción está activada (explícita o implícitamente).For scalar UDFs, the value will be 1 if inlining is turned on (explicitly or implicitly). El valor siempre será 1 para TVF en línea y 0 para otros tipos de módulo.The value will always be 1 for inline TVFs, and 0 for other module types.

ObservacionesRemarks

La expresión SQL de una restricción predeterminada, objeto de tipo D, se encuentra en la vista de catálogo Sys.default_constraints .The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. La expresión SQL de una restricción CHECK, objeto de tipo C, se encuentra en la vista de catálogo Sys.check_constraints .The SQL expression for a CHECK constraint, object of type C, is found in the sys.check_constraints catalog view.

Esta información también se describe en sys.dm_db_uncontained_entities ()de Transact-SQL .This information is also described in sys.dm_db_uncontained_entities (Transact-SQL).

PermisosPermissions

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario tiene algún permiso.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 obtener más información, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

EjemplosExamples

En el ejemplo siguiente se devuelve el nombre, el tipo y la definición de cada módulo de la base de datos actual.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 tambiénSee Also

Vistas de catálogo (Transact-SQL) Catalog Views (Transact-SQL)
Object Catalog Views (Transact-SQL) (Vistas de catálogo de objetos [Transact-SQL])Object Catalog Views (Transact-SQL)
Preguntas más frecuentes sobre el catálogo del sistema de SQL Server Querying the SQL Server System Catalog FAQ
OLTP en memoria (optimización en memoria)In-Memory OLTP (In-Memory Optimization)