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