Exporter la procédure stockée SQL dans un fichier et générer son Script

Dans les articles précédents, nous avons examiné un algorithme général de recherche et de suppression des transactions ouvertes incomplètes dans les bases de données SQL Server, créé une table pour corriger les transactions incomplètes et une procédure stockée CRUD, et implémenté de nombreux paramètres qui rendront notre flux de travail documentaire productif et pratique.

Exportons et testons maintenant une procédure stockée, générons son code et transformons–la en script – elle sera exécutée sur n’importe quel hôte ou groupe d’hôtes en spécifiant les paramètres d’entrée appropriés.

Exporter la procédure stockée dans SQL Server

Il peut également être très utile de générer un script pour créer les objets de base de données nécessaires, par exemple, générer un script pour exporter une procédure stockée dans un fichier ou copier la procédure stockée dans d’autres solutions. Pour ce faire, suivez les étapes suivantes:

  • Dans l’Explorateur d’objets, faites un clic droit sur votre base de données
  • Sélectionnez Tâches dans le menu contextuel qui apparaît
  • Sélectionnez la commande Générer des scripts
 Sélection de la commande Générer des scripts
Fig. 1 Sélection de la commande Générer des scripts
  • Sélectionnez les objets à écrire
 Sélection des objets que vous souhaitez écrire
Fig. 2 Sélection des objets que vous souhaitez écrire
  • Dans la fenêtre Définir les options de script, sélectionnez Script à déposer
 Sélection Du Script À Déposer
Fig 3. Sélection Du Script À Déposer
  • Exécutez le script généré sur la base de données cible.

Lorsque toutes ces étapes sont effectuées, nous obtiendrons un script généré de la procédure stockée exportée.

Tester une procédure stockée

Revenons à une procédure stockée que nous avons créée dans la partie 2. Si nous faisons glisser le curseur vers une procédure stockée, un menu déroulant apparaîtra:

 Le menu déroulant procédure stockée
Fig 4. Le menu déroulant procédure stockée

Pour fonctionner correctement, votre procédure stockée doit avoir une description. S’il n’a pas encore été ajouté, veuillez exécuter le script suivant:

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO

Ou optez pour les propriétés étendues de l’objet:

 Ajout de la description de la procédure stockée
Fig.5 Ajout de la description de la procédure stockée

Vous pouvez également ajouter une description à l’aide de cette méthode.

Génération de code de procédure stockée

Vous pouvez l’appeler avec un clic droit sur le menu déroulant d’une procédure stockée, puis sélectionnez « Objet Script comme CRÉER/MODIFIER »:

 Sélection du
Fig.6 En sélectionnant « Objet Script comme CRÉER / MODIFIER » dans le menu contextuel

Une fois que vous avez fait cela, un script pour le changement d’objet apparaîtra – dans notre cas, il s’agira du changement de procédure stocké. S’il n’y a pas d’objet, il y aurait un script pour le créer. Ce script peut être facilement déplacé vers les instances MS SQL Server appropriées.

Transformer le code de procédure stocké en script

Vous pouvez sélectionner « Convertir EXEC en script » dans un menu déroulant:

 Sélection du
Fig.7 En sélectionnant la commande « Convertir EXEC en Script » dans le menu principal SQL Complete

Au lieu d’appeler une procédure stockée, un script sera créé, les paramètres d’entrée deviendront des variables et le contenu de la procédure stockée deviendra un script. C’est une fonctionnalité pratique lors du test de votre code:

 Le résultat de la création d'un script à partir d'une procédure stockée
Fig.8 Résultat de la création d’un script à partir d’une procédure stockée

Vous pouvez maintenant exécuter le script dérivé sur n’importe quel hôte ou un groupe d’hôtes en définissant les valeurs appropriées des paramètres d’entrée.

Historique de création de requêtes

Passons maintenant en revue une autre fonctionnalité importante – SQL Complete: Historique d’exécution qui affiche les requêtes précédentes. Pour ce faire, cliquez sur le bouton SQL Complete: Historique d’exécution:

 Choisir le
Fig.9 En choisissant la commande « Historique d’exécution » dans le menu principal SQL Complete

, vous verrez la fenêtre suivante:

 L'affichage des scripts exécutés
Fig.10 L’affichage des scripts exécutés

Le coin supérieur gauche de la fenêtre contient des filtres pour les mots et la plage de temps, tandis que le coin droit indique le nombre de requêtes trouvées en fonction des données saisies dans le filtre. La partie inférieure de la fenêtre affiche la requête sélectionnée dans le tableau.

Le tableau se compose des colonnes suivantes:

  1. Status – indique si une requête a été terminée avec succès (coche blanche dans un cercle vert) ou non (croix blanche dans un cercle rouge)
  2. QueryText – indique le texte de la requête
  3. Size (octets) – indique la taille mesurée en octets
  4. Exécution On – indique la date et l’heure d’exécution d’une requête
  5. Duration – indique le temps qu’il a fallu à une requête pour être exécutée
  6. Fichier – affiche le nom du fichier et un chemin complet vers celui–ci
  7. Serveur – affiche le nom du serveur
  8. Utilisateur – affiche un utilisateur qui a exécuté un script
  9. Base de données – affiche un base de données dans laquelle un script a été exécuté

La recherche des colonnes « QueryText » et « Exécution Sur » se fait dans les filtres « Recherche » et « De/Vers ».

Vous pouvez également trier les colonnes de données par ordre croissant ou décroissant en cliquant sur un en-tête d’une colonne appropriée. Par défaut, le tri des colonnes « Exécution sur » est activé par ordre décroissant.

Vous pouvez trier plusieurs colonnes en même temps en maintenant un bouton MAJ enfoncé. Vous pouvez également configurer des filtres plus complexes en cliquant sur le signe du filtre:

 Configuration du filtrage des colonnes
Fig.11 Configuration du filtrage des colonnes

Entrez maintenant le nom de la procédure stockée « AutoKillSessionTranBegin » dans le filtre « Rechercher:

 Recherche de procédure stockée dans le
Fig.12 Recherche de procédure stockée dans l’onglet « Historique d’exécution »

Par conséquent, nous obtenons un historique de création complet du srv.AutoKillSessionProcÉdure de démarrage décrite précédemment.

Si vous cliquez avec le bouton droit sur une ligne de tableau appropriée, vous pouvez ouvrir un script dans une nouvelle fenêtre ou le copier dans le presse-papiers pour le coller partout où cela est nécessaire:

 Copie du script sélectionné à partir de la
Fig.13 Copie du script sélectionné à partir de l’onglet « Historique d’exécution »

Vous pouvez ouvrir un script dans une nouvelle fenêtre en double-cliquant sur le script souhaité dans une ligne de tableau.

Vous pouvez également spécifier la durée de stockage de l’historique d’exécution, la taille maximale de la requête et le chemin de stockage de l’historique:

 Le
Fig.14. Les paramètres de commande « Historique d’exécution » dans SQL Complete

Vous pouvez lire plus de détails sur la fonctionnalité d’historique d’exécution ici.

C’est tout, les gars. La nouvelle fonctionnalité a été développée, testée et déplacée vers les instances MS SQL Server appropriées.

  • Auteur
  • Messages récents
 Evgueni Gribkov

Evgeniy Gribkov

Evgeniy est analyste, développeur et administrateur de bases de données MS SQL Server. Il est impliqué dans le développement et le test des outils de gestion de base de données SQL Server. Evgeniy écrit également des articles liés à SQL Server.

 Evgueni Gribkov

Derniers articles par Evgeniy Gribkov (tout voir)

  • Création d’une Procédure Stockée pour Supprimer des Tables Temporaires Locales dans SQL Server – 16 juin 2021
  • Référentiel de Contrôle de Source de Lien Dédié – 6 Mai 2021
  • Contrôle de version de Base de données À l’aide du Contrôle de source pour SQL Server – Mai 5, 2021

sql complet, sql server, transactions sql server, procédure stockée sql

Leave a Reply

Votre adresse e-mail ne sera pas publiée.