Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment scripter des procédures stockées dans des fichiers ?

Les procédures stockées ne sont pas stockées sous forme de fichiers, elles sont stockées sous forme de métadonnées et exposées à nous peons (merci Michael pour le rappel sur sysschobjs ) dans les vues de catalogue sys.objects , sys.procedures , sys.sql_modules , etc. Pour une procédure stockée individuelle, vous pouvez interroger la définition directement à l'aide de ces vues (surtout sys.sql_modules.definition ) ou en utilisant OBJECT_DEFINITION() fonctionner comme Nicholas l'a souligné (bien que sa description de syscomments n'est pas tout à fait exact).

Pour extraire toutes les procédures stockées dans un seul fichier, une option serait d'ouvrir l'Explorateur d'objets, de développer your server > databases > your database > programmability et mettez en surbrillance les stored procedures nœud. Appuyez ensuite sur F7 (Affichage> Détails de l'Explorateur d'objets ). Sur le côté droit, sélectionnez toutes les procédures souhaitées, puis cliquez avec le bouton droit sur script stored procedure as > create to > file . Cela produira un seul fichier avec toutes les procédures que vous avez sélectionnées. Si vous voulez un seul fichier pour chaque procédure, vous pouvez utiliser cette méthode en ne sélectionnant qu'une seule procédure à la fois, mais cela pourrait être fastidieux. Vous pouvez également utiliser cette méthode pour scripter toutes les procédures liées à la comptabilité dans un fichier, toutes les procédures liées aux finances dans un autre fichier, etc.

Un moyen plus simple de générer exactement un fichier par procédure stockée serait d'utiliser le Générer Assistant de script - encore une fois, à partir de l'Explorateur d'objets - faites un clic droit sur votre base de données et choisissez Tasks > Generate scripts . Choisissez Select specific database objects et vérifiez les stored procedures de niveau supérieur boîte. Cliquez sur Suivant. Pour la sortie, choisissez Save scripts to a specific location , Save to file , et Single file per object.

Ces étapes peuvent être légèrement différentes selon votre version de SSMS.