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

El módulo se ha creado con SET ANSI_NULLS establecido en ON.

Siempre será = 0 para reglas y valores predeterminados.

uses_quoted_identifier

bit

El módulo se ha creado con SET QUOTED_IDENTIFIER establecido en 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 de base de datos EXECUTE AS.

Es NULL de manera predeterminada o si EXECUTE AS se ha establecido en CALLER.

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

-2 = EXECUTE AS OWNER.

Notas

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.

Permisos

En SQL Server 2005 y versiones posteriores, la visibilidad de los metadatos en las vistas de catálogo se limita a los elementos que pueden protegerse y que son propiedad de un usuario o sobre los que el usuario tienen algún permiso. Para obtener más información, vea Configuración de visibilidad de los metadatos.

Ejemplos

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

USE AdventureWorks;
GO
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