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 la colonne

Type de données

Description

object_id

int

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

définition

nvarchar(max)

Texte SQL qui définit ce module.

NULL = chiffré

uses_ansi_nulls

bit

Le module a été créé avec SET ANSI_NULLS ON.

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

uses_quoted_identifier

bit

Le module a été 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é pour produire une sortie NULL sur n'importe quelle entrée NULL.

execute_as_principal_id

Int

ID du principal de base de données EXECUTE AS.

Valeur NULL par défaut ou dans le cas de l'instruction EXECUTE AS CALLER.

ID du principal spécifié si EXECUTE AS SELF ou EXECUTE AS <principal>.

-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.

Ces informations sont également décrites dans sys.dm_db_uncontained_entities (Transact-SQL).

Autorisations

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 actuelle.

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

Voir aussi

Référence

Affichages catalogue (Transact-SQL)

Vues de catalogue d'objets (Transact-SQL)

Concepts

Questions fréquentes sur l'interrogation des catalogues système de SQL Server