sys.sql_modules (Transact-SQL)

Retourne une ligne pour chaque objet qui est un module défini en langage SQL. Les objets de type P, RF, V, TR, FN, IF, TF et R possèdent un module SQL associé. Les valeurs par défaut autonomes, les objets de type D, possèdent également une définition de module SQL dans cette vue. Pour obtenir une description de ces types, consultez la colonne type dans l'affichage catalogue sys.objects.

Nom de colonne

Type de données

Description

object_id

int

ID d'objet de l'objet contenant. Unique dans une base de données.

definition

nvarchar(max)

Le texte SQL qui définit ce module.

NULL = Chiffré.

uses_ansi_nulls

bit

Module créé avec SET ANSI_NULLS ON.

Sera toujours = 0 pour les règles et les valeurs par défaut.

uses_quoted_identifier

bit

Module créé avec SET QUOTED_IDENTIFIER ON.

is_schema_bound

bit

Module créé avec l'option SCHEMABINDING.

uses_database_collation

bit

1 = La définition d'un module lié au schéma dépend du classement par défaut de la base de données pour une évaluation correcte ; dans tous les autres cas, 0. Une telle dépendance permet d'éviter le changement du classement par défaut de la base de données.

is_recompiled

bit

Procédure créée avec l'option WITH RECOMPILE.

null_on_null_input

bit

Le module a été déclaré comme produisant un résultat NULL pour toute entrée NULL.

execute_as_principal_id

Int

ID de l'entrée de sécurité de la base de données EXECUTE AS.

NULL par défaut ou si EXECUTE AS CALLER.

ID de l'entrée de sécurité spécifiée si EXECUTE AS SELF ou EXECUTE AS <entrée de sécurité>.

-2 = EXECUTE AS OWNER.

Notes

L'expression SQL pour une contrainte DEFAULT, objet de type D, se trouve dans l'affichage catalogue sys.default_constraints. L'expression SQL pour une contrainte CHECK, objet de type C, se trouve dans l'affichage catalogue sys.check_constraints.

Autorisations

Dans SQL Server 2005 et versions ultérieures, la visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Exemples

L'exemple suivant retourne le nom, le type et la définition de chaque module dans la base de données 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