2009-11-26 5 views
4

Je génère un script volumineux pour effectuer une série d'insertions et de mises à jour. Quand je l'exécute, j'ai quelques erreurs, mais les messages d'erreur ne me permettent pas de localiser le problème - les numéros de ligne sont depuis le dernier "GO", donc je ne peux pas trouver la bonne ligne. Je voudrais ajouter des appels à mon script à une fonction dans T-SQL qui écrira juste dans la fenêtre de résultats, ainsi j'aurais une meilleure idée où l'erreur se produit.Obtention de la sortie de débogage dans SQL Server Managment Studio

Répondre

10

Vous pouvez simplement utiliser PRINT dans les pleces que vous soupçonnez peut causer des problèmes

par exemple

print 'Step 1' 
insert into tableA -- some code here 
... 
print 'Step 2' 
etc 

Vous pouvez également envelopper votre code dans le bloc de TRY CATCH déclarations et jeter les erreurs personnalisées ou des messages d'erreur d'impression si quelque chose va mal

+0

Voilà, merci! –

1

instructions PRINT comme suggéré par @kristof ferait ce que vous voulez. Cependant, vous pouvez exécuter SQL Profiler côte à côte lorsque vous exécutez le script, en attrapant toutes les classes de la section Errors and Warnings et tous les événements SQL:StmtStarting. Cela signifie que vous n'aurez pas à modifier votre script.

Questions connexes