Comment puis-je entrer dans un process stocké SQL Server à partir de mon code C #?

Je débogue du code C # qui utilise Ado.net pour appeler un proc stocké (TSQL) dans SQL Server. Comment puis-je entrer dans le process stocké?

(Je pense que j'ai vu cette démo par le personnel de Microsoft, mais je ne peux pas me callbacker les 101 parameters "magiques" qui sont nécessaires pour le faire fonctionner.)

Je m'appuierai sur la réponse de Davide et le commentaire d'Ian parce que c'est exactement le process que j'ai suivi.

Hypothèse : la réponse est basée sur VS2008 & VS2010 .

Pour parcourir une procédure stockée T-SQL sur SQL Server pendant le debugging d'une application .NET, vous devez effectuer les opérations suivantes:

  1. Suivez les instructions MS Support " Comment déboguer des procédures stockées dans Visual Studio .NET (Option 2) "

    • Vérifiez que vous avez activé le debugging SQL Server dans les propriétés du projet (étape 4 dans les instructions liées).
    • Vérifiez que vous avez défini un point d'arrêt dans la procédure stockée elle-même (étapes 6-7)
  2. Activez le debugging Autoriser SQL / CLR sur la connection de données sur laquelle la procédure stockée est appelée:

    • (sans cette seconde étape, vous obtiendrez "Le point d'arrêt ne sera pas actuellement touché.) Impossible de lier SQL breakponit à ce moment.Objet contenant le point d'arrêt non chargé." comme rapporté par Ian)
    • Server Explorer > logins de données
    • Faites un clic droit sur la connection que vous utilisez dans le code
    • Cochez l'option Autoriser le debugging SQL / CLR dans le menu

Ajout de commentaires: (Cela semble être la key pour le faire fonctionner)

Cela fonctionne aussi avec une connection créée par programme. Il vous suffit d'utiliser exactement la même string de connection qui s'affiche lorsque vous cliquez avec le button droit sur l'instance de server, click "properties" et faites défiler jusqu'à "Chaîne de connection" (Verbindungszeichenfolge en allemand).

Pour ceux d'entre vous qui utilisent VS 2012 et qui ne savent pas pourquoi vous ne pouvez pas activer le debugging SQL / CLR depuis la window de l'Explorateur de servers, vous devez vous connecter via la window "Explorateur d'objects SQL Server". Une fois que vous avez la connection dans cette window, le paramètre "Déboguer SQL / CLR Autoriser" et "Débogage de l'application" apparaissent dans le menu contextuel de votre database. Cela vaut probablement aussi pour 2013, mais je ne peux pas confirmer.

Activez le debugging SQL Server dans les propriétés du projet.

Dans l'Explorateur de solutions, cliquez avec le button droit sur le projet (pas la solution) et ouvrez les pages de propriétés. Cliquez sur properties de configuration dans l'arborescence, puis activez la checkbox Mise au sharepoint SQL Server sur la page Débogage pour activer le debugging de procédure stockée.

reference: http://support.microsoft.com/kb/316549