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