none
Debug no SQL Server RRS feed

  • Pergunta

  • Olá Amigos, tudo bem???

    Eu estou com uma dúvida aqui, que não é bem técnica, mas sim de uma "ferramenta" que existe no SQL Server (se não estou errado, desde o 2005), mas que tive a oportunidade de conhecer só agora, que é o Debug no SQL Server.

    Eu não sou nenhum ninja ao trabalhar com SQL Server, mas me viro bem, sempre que acho algum problema, vou na sequencia de F1 - Google - Foruns especializados e com isso sempre consegui fazer o que preciso.
    Porém ao trabalhar em uma empresa no ano passado, percebi que eles usavam o Debug para depurar seus T-SQL(SQL Server 2008), eu venho do 2000 e aprendi a "depurar" meus Scripts usando print.
    Mudei de empresa e convidei um funcionário de lá para ir comigo e ele já utilizava Debug a um tempo e tentou usar na atual empresa que trabalho, porém por questões de permissões (que não vem ao caso)não foi possivel "implantar" essa ferramenta(no Cloud é o 2008 e local é o 2005).
    Esse funcionário não está mais na empresa e o debug acabou morrendo e o print continua lá, firme e forte...

    Trabalhar com SQL Server é minha atividade secundária (eu desenvolvo em VB.NET e utilizamos um framework para acesso a dados), mas sempre que preciso depurar algo, tenho que ir lá, meter uns prints e sair depurando, o que pra mim, é algo meio traumatico, já que venho de uma linguagem de programação que não tem Debug na sua IDE e para depurar ou a gente mandava mensagens ou escrevia na output string para pegar as mensagens com o Debug View, algo que felizmente acabou qdo comecei com VB.NET.

    Peço desculpas por esse longo texto, mas minha dúvida é, será que sou o unico E.T que não usa debug (usando o SQL 2005/2008) ou as pessoas que trabalham com TSQL preferem depurar suas linhas via print ou algo parecido?
    Pra vocês, qual é a real importancia de depurar seus TSQL? É algo secundário e que o Debug é só uma pefumaria ou é algo util e que deve ser considerado?

    Gostaria muito a opinião de todos, por isso estou postando isso em vários foruns...

    ABS!!!!

    quinta-feira, 22 de julho de 2010 01:26

Respostas

  • Boa Noite,

    O uso de DEBUG é fundamental independente da camada. Não importa se o problema está na camada de aplicação ou de banco, em qualquer local o DEBUG será necessário sempre. O uso do PRINT ajuda, mas me lembra das técnicas do tipo "Response.Write / Response.End". Ajudam, mas não são adequadas.

    O SQL Server 2000 permite o DEBUG pelo Query Analyser, mas infelizmente o 2005 retirou essa possibilidade. No 2005 é necessário usar o Visual Studio para debugar código TSQL. As reclamações foram tantas que no SQL Server 2008, o Management Studio disponibilizou uma funcionalidade de DEBUG nativa (logo ao lado do EXECUTE). A única limitação é que o DEBUG no Management Studio 2008 só funciona com o SQL Server 2008 e o Management Studio 2005 não tem essa característica. Em outras palavras, pra quem tem 2005 só mesmo com o Visual Studio.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Truncate versus Delete - Uma explicação mais detalhada
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1112.entry 


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 22 de julho de 2010 03:00

Todas as Respostas

  • Boa Noite,

    O uso de DEBUG é fundamental independente da camada. Não importa se o problema está na camada de aplicação ou de banco, em qualquer local o DEBUG será necessário sempre. O uso do PRINT ajuda, mas me lembra das técnicas do tipo "Response.Write / Response.End". Ajudam, mas não são adequadas.

    O SQL Server 2000 permite o DEBUG pelo Query Analyser, mas infelizmente o 2005 retirou essa possibilidade. No 2005 é necessário usar o Visual Studio para debugar código TSQL. As reclamações foram tantas que no SQL Server 2008, o Management Studio disponibilizou uma funcionalidade de DEBUG nativa (logo ao lado do EXECUTE). A única limitação é que o DEBUG no Management Studio 2008 só funciona com o SQL Server 2008 e o Management Studio 2005 não tem essa característica. Em outras palavras, pra quem tem 2005 só mesmo com o Visual Studio.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Truncate versus Delete - Uma explicação mais detalhada
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1112.entry 


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 22 de julho de 2010 03:00
  • Valeu Gustavo.....

     

     

    Gostaria de mais participações, assim ficaria bacana como um histórico saber se outras pessoas usam debug ou o print...


    Abs a todos!

    quinta-feira, 22 de julho de 2010 23:25
  • Eduardo,

    Apesar de existir o Debug no SQL, eu sempre usei o print.

    Não atuo mais como desenvolvedor... mas mesmo como Administrador ainda uso bastante o debug com o print.

    Aqui na empresa, acredito que todos os DBAs tbm seguem esta linha...

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    sexta-feira, 23 de julho de 2010 11:50
    Moderador
  • Eduardo,

    Apesar de existir o Debug no SQL, eu sempre usei o print.

    Não atuo mais como desenvolvedor... mas mesmo como Administrador ainda uso bastante o debug com o print.

    Aqui na empresa, acredito que todos os DBAs tbm seguem esta linha...

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba


    Obrigado pela participação, Marcelo!

     

    Mais participações serã bem vindas!

    segunda-feira, 26 de julho de 2010 23:33
  • Olá Amigos, tudo bem???

    Eu estou com uma dúvida aqui, que não é bem técnica, mas sim de uma "ferramenta" que existe no SQL Server (se não estou errado, desde o 2005), mas que tive a oportunidade de conhecer só agora, que é o Debug no SQL Server.

    Eu não sou nenhum ninja ao trabalhar com SQL Server, mas me viro bem, sempre que acho algum problema, vou na sequencia de F1 - Google - Foruns especializados e com isso sempre consegui fazer o que preciso.
    Porém ao trabalhar em uma empresa no ano passado, percebi que eles usavam o Debug para depurar seus T-SQL(SQL Server 2008), eu venho do 2000 e aprendi a "depurar" meus Scripts usando print.
    Mudei de empresa e convidei um funcionário de lá para ir comigo e ele já utilizava Debug a um tempo e tentou usar na atual empresa que trabalho, porém por questões de permissões (que não vem ao caso)não foi possivel "implantar" essa ferramenta(no Cloud é o 2008 e local é o 2005).
    Esse funcionário não está mais na empresa e o debug acabou morrendo e o print continua lá, firme e forte...

    Trabalhar com SQL Server é minha atividade secundária (eu desenvolvo em VB.NET e utilizamos um framework para acesso a dados), mas sempre que preciso depurar algo, tenho que ir lá, meter uns prints e sair depurando, o que pra mim, é algo meio traumatico, já que venho de uma linguagem de programação que não tem Debug na sua IDE e para depurar ou a gente mandava mensagens ou escrevia na output string para pegar as mensagens com o Debug View, algo que felizmente acabou qdo comecei com VB.NET.

    Peço desculpas por esse longo texto, mas minha dúvida é, será que sou o unico E.T que não usa debug (usando o SQL 2005/2008) ou as pessoas que trabalham com TSQL preferem depurar suas linhas via print ou algo parecido?
    Pra vocês, qual é a real importancia de depurar seus TSQL? É algo secundário e que o Debug é só uma pefumaria ou é algo util e que deve ser considerado?

    Gostaria muito a opinião de todos, por isso estou postando isso em vários foruns...

    ABS!!!!

    gostaria de saber se o debug do sql server funciona so em enterprise edition ou funciona em qualquer sql server? nao estou conseguindo debugar em Developer Edition.

    atte,

    Marcus Aurelio Jr.


    terça-feira, 6 de maio de 2014 14:30
  • ola Gustavo, concordo plenamente contigo embora algumas empresas sejam resistentes e ate contrarias ao uso, fazendo com que seus profissionais apelem para os prints e sejam improdutivos com isso, não sei qual a vantagem, tudo isso em virtude disso:

    (não foi permitido colar a msg de erro do manag.studio) mas resumindo: UNABLE TO START THE TRANSACT-SQL DEBUGGER, COULD NOT CONNECT TO THE DATABASE ENGINE INSTANCE < server/banco >.MAKE SUER YOU HAVE ENABLED THE DEBUGGING FIREWALL EXCEPTIONS AND ARE USING A LOGIN ...SYSADMIN...

    como resolver isso da melhor forma possível?

    quarta-feira, 2 de setembro de 2015 14:32