Débogage d'application SQL à partir de VS2010 et SQL Server 2008 – impossible d'atteindre le point d'arrêt dans un process stocké

Je sais qu'il y a d'autres questions ici concernant cette même question, mais aucune des suggestions sur aucune des questions n'aide.

J'essaye de déboguer une procédure stockée, pour entrer dans son code d'une application de VB.Net.

Je peux entrer dans la procédure stockée en utilisant Server Explorer dans VS 2010. Je ne peux pas, cependant, passer du code dans mon application .Net dans la procédure stockée. J'ai des points d'arrêt à la fois dans mon code .net, à la ligne indiquant "ExecuteNonQuery ()" et un dans ma procédure stockée. Lorsque j'exécute l'application en mode debugging, mon point d'arrêt dans le proc stocké lit "ce point d'arrêt ne sera pas actuellement touché, aucun symbole n'a été chargé pour ce document." Lorsque mon point d'arrêt est touché dans le code .Net, l'exécution va de la ligne ExecuteNonQuery directement à la ligne suivante du code .Net – pas de frappe de mon point d'arrêt dans le proc stocké.

J'ai le debugging SQL activé pour le projet .Net. J'ai "Activer le debugging SQL / CLR" activé pour la connection de données à ma database dans l'explorateur de server. Mon débogueur est attaché aux process Managed (4.0), Native et T-SQL (confirmé via la boîte de dialog Attacher au process dans le menu de debugging).

L'instance du server sql et l'instance VS sont toutes deux sur ma machine locale et j'en suis l'administrateur. Je cours l'application de Cassini et il fonctionne sous mon propre count. Je cours VS2010 V 10.0.40219.1 sp1 Rel et SQL Server 2008 avec SP 2 installé sur une machine Win2k8 64 bits.

Aide, s'il vous plaît – n'importe qui! J'ai perdu 2 jours à ce sujet!

Je sais que c'est une vieille question, mais je pensais que je fournirais la solution de travail suivante qui vous permettra de déboguer le process stocké et pourrait être utile à quelqu'un d'autre qui vient à cette question. J'espère que vous findez les étapes de la valeur!

Étapes suggérées

  1. Exécutez SQL Server Profiler (par exemple, à partir de SQL Server Management Studio (SSMS) – select l'élément de menu devises -> SQL Server Profiler ).
  2. Avec SQL Server Profiler, connectez- vous à votre instance SQL Server locale.
  3. Cliquez sur le button Exécuter dans la window properties de la trace .
  4. REMARQUE: vous devez noter que SQL Server Profiler surveillera maintenant l'activité sur votre instance SQL Server locale (par exemple, les exécutions Proc stockées, etc.).
  5. Comme précédemment mis un sharepoint rupture défini sur l' instruction ExecuteNonQuery () .
  6. Exécutez votre code. Net qui devrait atteindre le sharepoint rupture indiqué ci-dessus.
  7. Avant d'exécuter l'instruction ExecuteNonQuery () break-point, revenez à SQL Server Profiler et effacez la trace (en utilisant CTRL + Shift + Suppr ou en cliquant sur le button Effacer la window de trace .
  8. Maintenant, dans VS, exécutez / passez l' instruction ExecuteNonQuery () .
  9. Dans SQL Server Profiler, notez qu'une trace du process stocké est maintenant capturée (avec tous les parameters).
  10. Dans SQL Server Profiler, copyz simplement les résultats de la trace (c'est-à-dire Stored Proc avec params).
  11. Ouvrez une nouvelle window de requête dans SSMS .
  12. Assurez-vous de vous connecter à votre database d'instance locale et démarrez le debugging par Alt + F5 ou à partir du menu Déboguer -> Démarrer le debugging .

Vous devriez maintenant être en mesure de déboguer votre proc stocké comme vous le souhaitez!