2010-05-28 5 views
0

J'ai une base de données SQL Server 2005 avec des procédures stockées (SP) que je voudrais déboguer ... essentiellement je voudrais Juste comme vérifier les valeurs variables à certains points tout au long de l'exécution SP.Déboguer des procédures stockées, sans utiliser le débogueur SSMS 2008, ou le débogueur Visual Studio (valeurs de variable de sortie?)

J'ai SSMS 2008, mais lorsque j'essaie d'utiliser le débogueur, j'obtiens une erreur qu'il ne peut pas déboguer les bases de données SQL Server 2005. Et je ne peux pas utiliser le débogueur Visual Studio (en entrant dans le SP via l'Explorateur de serveurs) parce que le débogage à distance est bloqué par notre pare-feu, et je ne suis légitimement pas autorisé à toucher le pare-feu. Donc, ma question est de savoir comment puis-je vérifier les valeurs des variables à certains points de l'exécution du processeur de service? Existe-t-il un moyen de produire ces valeurs quelque part, peut-être avec du texte?

Répondre

1

Vous pouvez écrire dans un fichier texte à l'aide de la procédure stockée xp_cmdshell.

DECLARE @cmd sysname, @var sysname 
SET @var = 'Hello world' 
SET @cmd = 'echo ' + @var + ' > var_out.txt' 
EXEC master..xp_cmdshell @cmd 

http://msdn.microsoft.com/en-us/library/ms175046%28SQL.90%29.aspx

Notez que cette procédure peut être désactivée. La procédure permet l'exécution de fichiers exécutables de sorte qu'elle devrait être désactivée lorsqu'elle n'est pas nécessaire. Voir ce qui suit sur comment activer la procédure.

http://msdn.microsoft.com/en-us/library/ms190693%28v=SQL.90%29.aspx

Questions connexes