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 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. Esta dependencia evita el cambio de 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 se ha establecido 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.
Permisos
En SQL Server 2005 y versiones posteriores, la visibilidad de los metadatos se limita a los elementos protegibles y que son propiedad de un usuario o sobre 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 siguiente ejemplo se devuelve el nombre, tipo y definición de cada módulo de la base de datos AdventureWorks2008R2.
USE AdventureWorks2008R2;
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