Afficher la définition d'une procédure stockée
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Afficher la définition d'une procédure stockée
Cet article explique comment consulter la définition de la procédure dans l’Explorateur d’objets et en utilisant une procédure stockée système, une fonction système et un affichage catalogue d’objets dans l’Éditeur de requête.
Sécurité
Autorisations
Procédure stockée système : sp_helptext
Nécessite l'appartenance au rôle public . Les définitions de l'objet système sont visibles publiquement. La définition des objets utilisateur est visible par le propriétaire de l’objet ou les bénéficiaires de l’une des autorisations suivantes : ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION.
Fonction système : OBJECT_DEFINITION
Les définitions de l'objet système sont visibles publiquement. La définition des objets utilisateur est visible par le propriétaire de l’objet ou les bénéficiaires de l’une des autorisations suivantes : ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION. Ces autorisations sont implicitement possédées par des membres des rôles de base de données fixes db_owner, db_ddladminet db_securityadmin .
Affichage catalogue d’objet : sys.sql_modules
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 Metadata Visibility Configuration.
Remarque
La procédure stockée système sp_helptext
n’est pas prise en charge dans Azure Synapse Analytics. À la place, utilisez l’affichage catalogue d’objets sys.sql_modules
. Vous trouverez des exemples plus loin dans cet article.
Comment afficher la définition d'une procédure stockée
Vous pouvez utiliser l'un des éléments suivants :
Utilisation de SQL Server Management Studio
Pour afficher la définition d'une procédure dans l'Explorateur d'objets :
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données et développez-la.
Développez Bases de données, développez la base de données à laquelle appartient la procédure, puis développez Programmabilité.
Développez Procédures stockées, cliquez avec le bouton droit sur la procédure, sélectionnez Générer un script de la procédure stockée en tant que, puis l’une des opérations suivantes : Create To, Alter To ou Drop et Create To.
Sélectionnez Nouvelle fenêtre d’éditeur de requête. Cette action affiche la définition de la procédure.
Utilisation de Transact-SQL
Pour afficher la définition d'une procédure dans l'éditeur de requête
Procédure stockée système : sp_helptext
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre d’outils, sélectionnez Nouvelle requête.
Dans la fenêtre de requête, entrez l'instruction suivante qui utilise la procédure stockée système
sp_helptext
. Modifiez le nom de la base de données et celui de la procédure stockée pour faire référence à la base de données et à la procédure stockée de votre choix.USE AdventureWorks2022; GO EXEC sp_helptext N'AdventureWorks2022.dbo.uspLogError';
Fonction système : OBJECT_DEFINITION
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre d’outils, sélectionnez Nouvelle requête.
Dans la fenêtre de requête, entrez les instructions suivantes qui utilisent la fonction système
OBJECT_DEFINITION
. Modifiez le nom de la base de données et celui de la procédure stockée pour faire référence à la base de données et à la procédure stockée de votre choix.USE AdventureWorks2022; GO SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2022.dbo.uspLogError'));
Affichage catalogue d’objet : sys.sql_modules
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre d’outils, sélectionnez Nouvelle requête.
Dans la fenêtre de requête, entrez les instructions suivantes qui utilisent l'affichage catalogue
sys.sql_modules
. Modifiez le nom de la base de données et celui de la procédure stockée pour faire référence à la base de données et à la procédure stockée de votre choix.USE AdventureWorks2022; GO SELECT [definition] FROM sys.sql_modules WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour