IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Possibilités de debug avec Visual studio ou SQL Server Management Studio


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 64
    Par défaut Possibilités de debug avec Visual studio ou SQL Server Management Studio
    Bonjour, je souhaiterais connaitre toutes les possibilités que l'on a pour débugger au pas à pas une requête, une procédure stockée ou une fonction sous SQL Server 2008

    le mieux serait bien évidemment que l'on puisse débugger au pas à pas ou avec des points d'arrêt sur par exemple la procédure stockée dans l'explorateur de serveurs de visual Studio (2010 Ultimate pour mon cas) et que quand on lance l'appli cela s'arrête sur le point d'arrêt.
    Mais voilà j'ai mis des points d'arrêt là ou cela passe et on ne s'y arrête pas?
    cela est-il possible? Dois-je faire une manipe spéciale?

    j'ai tenté la même chose en mettant une point d'arrête coté SQL Server Management Studio (2008 R2) idem, comment faire, faut-il configurer quelque chose pour avoir la même connexion?


    j'ai copié ma requête dans un nouveau script dans SQL Server Management Studio (avec les paramètres en dure) j'ai posé des points d'arrêts sur toute les lignes et cliqué sur le triangle vert pour lancer l'exécution en mode debug mais
    le pointeur de programme ne s'arrête que sur le première et après quoi que je fasse (par exemple clic sur pas à pas principale) il exécute la requête jusqu'à la fin, es-ce que je m'y prend bien ou es-ce un bug?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT DISTINCT dbo.EC.IdUser
    FROM dbo.EC INNER JOIN dbo.List_C ON dbo.EC.idList_C = dbo.LC.idList_C
    WHERE dbo.List_C.idList_C IN
    (
     SELECT  dbo.RP.idList_C
     FROM dbo.RP INNER JOIN
     dbo.RPC ON RP.idRP = dbo.RPC.idRP
     WHERE dbo.RP.idRP = 4
    );
    Merci à l'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 64
    Par défaut
    Oui cette doc est complète, avec une petite expérimentation c'est parfait!
    je constate que au pas à pas on ne peut débugger que requête par requête et non ligne par ligne, cela semble normal mais un peut déroutant quand on est développeur.

    1) Il me semble donc qu'il est préférable de ne pas faire de grandes requêtes mais des petites qui s’appellent sinon on ne pourra pas débugger finement, qu'en pensez vous?

    2) Seulement si je me sert de fonctions pour construire ma requête, elle devient fortement moins optimale car en déplaçant une partie des tables recherchées dans une fonction, on enlève à l'optimiseur la possibilité de comprendre les relations entre les tables. (voir chapitre II-D-1. Fonctions sur http://rudi.developpez.com/sqlserver...misation/#LI-B)
    Auriez vous une autre solution à la fois facile à debugger et optimale?

    3) De plus est il possible de débugger le sql via visual studio en debug sur une application?

  4. #4
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Citation Envoyé par bibouilles Voir le message
    3) De plus est il possible de débugger le sql via visual studio en debug sur une application?
    OUI
    Etienne ZINZINDOHOUE
    Billets-Articles

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Citation Envoyé par bibouilles
    1) Il me semble donc qu'il est préférable de ne pas faire de grandes requêtes mais des petites qui s’appellent sinon on ne pourra pas débugger finement, qu'en pensez vous?
    Il n'est pas possible de faire du ligne à ligne parce que SQL est un langage à la fois ensembliste et déclaratif.
    Vous spécifiez donc ce que vous souhaitez obtenir, mais pas la façon de l'obtenir : vous faites l'inverse dans un langage par objet, par exemple.

    Comme vous le verrez ici, une instruction T-SQL (l'implémentation de SQL par Microsoft dans SQL Server), une instruction SQL n'est pas lue dans l'ordre dans lequel elle est spécifiée.

    C'est la raison pour laquelle on ne peut pas faire de ligne à ligne.
    De toute façon l'instruction plante ou elle ne plante pas, et vous avez la valeur des variables dans la pile.

    Ceci répond aussi à la question 2.

    D'autre part si votre base de données est bien modélisée, les requêtes s'écrivent normalement en quelques lignes ...

    Citation Envoyé par bibouilles
    3) De plus est il possible de débugger le sql via visual studio en debug sur une application?
    Avec Visual Studio 2008 et 2010, oui.

    @++

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 64
    Par défaut
    2) -> Merci bien elsuket mais j'ai du mal à comprendre, pourrais tu m'expliquer un peut plus stp?

    3) -> Merci mais Comment? débugger directement avec visual? j'y arrive avec MSSMS mais je n'y arrive pas avec Visual studio 2010 Ultimate et ne trouve pas ld'article appropriés

  7. #7
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Citation Envoyé par bibouilles Voir le message
    3) -> Merci mais Comment? débugger directement avec visual? j'y arrive avec MSSMS mais je n'y arrive pas avec Visual studio 2010 Ultimate et ne trouve pas ld'article appropriés
    Sous VS 2008 tu places tes points d'arrêt puis des petits coups de F11 et le pointeur de la souris sur la ligne à examiner renvoie pleins d'infos
    Il est possible de cliquer sur icon + pour développer les détails des infos
    Etienne ZINZINDOHOUE
    Billets-Articles

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/02/2013, 16h10
  2. membership avec Sql Server Management studio
    Par lizarazou dans le forum ASP.NET
    Réponses: 0
    Dernier message: 25/03/2011, 11h06
  3. SQL Server Management Studio Express avec SQL Server 2008
    Par cfeltz dans le forum Administration
    Réponses: 1
    Dernier message: 14/02/2009, 23h30
  4. SQL Server Management Studio et SQL Server 7.0
    Par jcd dans le forum Outils
    Réponses: 5
    Dernier message: 11/09/2008, 13h25
  5. Problème d'encoding avec SQL Server Management Studio
    Par Maskime dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 06/06/2008, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo