sys.system_sql_modules (Transact-SQL)

Applies to: yesSQL Server (all supported versions) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesParallel Data Warehouse

Returns one row per system object that contains an SQL language-defined module. System objects of type FN, IF, P, PC, TF, V have an associated SQL module. To identify the containing object, you can join this view to sys.system_objects.

Column name Data type Description
object_id int Object identification number of the containing object, unique within a database.
definition nvarchar(max) SQL text that defines this module.
uses_ansi_nulls bit 1 = Module was created with the SET ANSI_NULLS database option ON.

Always returns 1.
uses_quoted_identifier bit 1 = Module was created with SET QUOTED_IDENTIFIER ON.

Always returns 1.
is_schema_bound bit 0 = Module was not created with the SCHEMABINDING option.

Always returns 0.
uses_database_collation bit 0 = Module does not depend on the default collation of the database.

Always returns 0.
is_recompiled bit 0 = Procedure was not created by using the WITH RECOMPILE option.

Always returns 0.
null_on_null_input bit 0 = Module was not created to produce a NULL output on any NULL input.

Always returns 0.
execute_as_principal_id int Always returns NULL


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. For more information, see Metadata Visibility Configuration.

See Also

sys.sql_modules (Transact-SQL)
sys.all_sql_modules (Transact-SQL)
Catalog Views (Transact-SQL)
Object Catalog Views (Transact-SQL)