Manière de prévisualiser (rétroview) les requêtes SQL de SQL Server Management Studio Express
-
04-07-2019 - |
Question
Pourriez-vous me dire s'il vous est possible de prévisualiser (ou au moins de rétroview, par exemple dans une sorte de fichier journal) des commandes SQL que SQL Server Management Studio Express est sur le point d'exécuter (ou vient de s'exécuter) ?
Auparavant, j'utilisais Embarcadero DBArtisan, qui montre que les requêtes SQL doivent être exécutées avant de les exécuter sur le serveur. Je suis donc impatient de voir cette fonctionnalité dans Management Studio.
J'ai trouvé une option "Générer automatiquement les scripts de modification", mais elle n'affiche que les requêtes SQL DDL. (changement de structure), pas de changement de données.
La solution
Pour répondre à la question relative à l'affichage des requêtes sous-jacentes exécutées lors de l'utilisation de Management Studio, vous disposez de deux méthodes.
La plupart des boîtes de dialogue de Management Studio vous permettent de générer un script de modification dans un fichier ou dans le Presse-papiers, ce qui peut s'avérer utile pour faire le point sous le capot, ainsi que pour appliquer des modifications entre les serveurs de développement, de stockage intermédiaire et de production.
Une autre solution consisterait à exécuter SQL Server Profiler et à filtrer par
.- Nom d'application pour Management Studio
- Nom d'utilisateur pour votre compte
Certains modèles de trace T-SQL standard seraient acceptables ou, si vous créez un modèle de trace personnalisé, incluez le champ TextData du T-SQL SQL: BatchCompleted et SQL: BatchStarting Events
Autres conseils
Vous pouvez utiliser Query Profiler (à partir de SQL) pour afficher les requêtes et les intégrer dans votre requête SQL dans une transaction, puis effectuer une restauration.
BEGIN TRAN
INSERT INTO Clients
SELECT 'Bruno', 'Alexandre';
END
ROLLBACK TRAN
Lorsque vous annulez une transaction, le processus retourne au début de BEGIN TRAN et vous pouvez être sûr que rien n'a été fait, c’est le moyen de valider les requêtes et d’annuler en toute sécurité si le SQL rencontre une erreur ...
comme:
IF @@ERROR > 0 GOTO Error
:Error
ROLLBACK TRANSACTION
Vous pouvez utiliser
SET SHOWPLAN_TEXT ON
Au début de votre lot, le plan et le texte de la requête vous sont renvoyés. La requête n'affectera aucune ligne tant que SHOWPLAN_TEXT
est activé.
Vous pouvez ensuite définir SHOWPLAN_TEXT
sur OFF
pour exécuter votre requête.