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