Share via


sys.sql_modules (Transact-SQL)

Devuelve una fila para cada objeto que es un módulo definido con lenguaje SQL. Los objetos del tipo P, RF, V, TR, FN, IF, TF y R tienen un módulo SQL asociado. Los valores predeterminados independientes, objetos del tipo D, también incluyen una definición de módulo SQL en esta vista. Para obtener una descripción de estos tipos, consulte la columna type en la vista de catálogo sys.objects.

Nombre de columna

Tipo de datos

Descripción

object_id

int

Id. de objeto del objeto contenedor. Es único en una base de datos.

definition

nvarchar(max)

Texto SQL que define este módulo.

NULL = Cifrado.

uses_ansi_nulls

bit

Módulo creado con SET ANSI_NULLS ON.

Siempre será = 0 para reglas y valores predeterminados.

uses_quoted_identifier

bit

Módulo creado con SET QUOTED_IDENTIFIER ON.

is_schema_bound

bit

El módulo se ha creado con la opción SCHEMABINDING.

uses_database_collation

bit

1 = La definición de módulo enlazada a esquema depende de la intercalación predeterminada de la base de datos para su correcta evaluación; en caso contrario, es 0. Esta dependencia impide que se cambie la intercalación predeterminada de la base de datos.

is_recompiled

bit

El procedimiento se ha creado con la opción WITH RECOMPILE.

null_on_null_input

bit

El módulo se ha declarado para generar una salida NULL siempre que la entrada sea NULL.

execute_as_principal_id

Int

Id. de la entidad de seguridad EXECUTE AS de la base de datos.

De forma predeterminada NULL o si EXECUTE AS CALLER.

Id. de la entidad de seguridad especificada si EXECUTE AS SELF o EXECUTE AS <entidad de seguridad>.

-2 = EXECUTE AS OWNER.

Comentarios

La expresión SQL de una restricción DEFAULT, objeto de tipo D, se encuentra en la vista de catálogo sys.default_constraints. La expresión SQL de una restricción CHECK, objeto de tipo C, se encuentra en la vista de catálogo sys.check_constraints.

Esta información también se describe en sys.dm_db_uncontained_entities (Transact-SQL).

Permisos

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 para los que el usuario tiene algún permiso. Para obtener más información, vea Configuración de visibilidad de los metadatos.

Ejemplos

En el ejemplo siguiente se devuelve el nombre, el tipo y la definición de cada módulo de la base de datos actual.

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

Vea también

Referencia

Vistas de catálogo (Transact-SQL)

Vistas de catálogo de objetos (Transact-SQL)

Conceptos

Consultar las preguntas más frecuentes (P+F) del catálogo del sistema de SQL Server