none
Stop na Transacao RRS feed

  • Pergunta

  •  

    Bom dia a todos ! Será q alguem poderia me dar uma ajuda ?

     

    Estou procurando uma forma de interromper uma transacao, assim como o sql faz dentro do query analyzer qdo mandamos rodar e depois clicamos no stop... ele para a execucao

     

    Gostaria de saber se consigo este mesmo recurso atravez de algum comando q possa ser executado por dentro da minha linguagem... VB por ex... de dentro do vb eu executo uma SQL e quero parar ao meio da execucao

     

    Alguem pode me dizer se isso é possivel, seria muito util !

    quinta-feira, 31 de janeiro de 2008 10:54

Todas as Respostas

  •  

     vc. vai precisar saber o num da sessao e dar um kill nela Exemplo:

     

    sp_who2

     

    vai mostar todas as sessoes ativas, veja qual o numero vc. quer matar e use

     

    kill 200 -- onde 2000 e o numero da sessao que vc. quer matar.

     

     Select @@SPID -- retorno o numero da sessao ativa pelo usuario, mais nao sei se ajuda pois nao sera o numero da sessao que vc. quer parar.

     

     

    melhor analisar com a sp_who2 mesmo.

     

    Abs;

     

    quinta-feira, 31 de janeiro de 2008 11:29
  • Marcelo...

     

    Obrigado pela atencao... verifiquei o q vc disse, mas acho q ainda nao é o q preciso... pois o kill mata a minha conexao e o q preciso é interromper a execucao de um comando...imagina q vc esta no query analyzer e executa um"SELEC * FROM TBtal" em uma tabela grande e resolve parar pois sabe q vai demorar... entao vc usa o botao "Cancel Query" p/ interromper a execucao do select certo ? porem vc nao mata a SPID q tem ali, simplesmente interrompe a execucao

     

    O q estou precisando é exatamente este resultado, só q por dentro do VB... imagino q teria algum comando ou sp q qdp executado interrompesse a execucao

     

    Mais uma vez obrigado, se tiver mais alguma sugestao post por favor !

    quinta-feira, 31 de janeiro de 2008 11:44
  • Segava,

     

    Você deseja interromper a execução de uma comando especifico?

     

     

    quinta-feira, 31 de janeiro de 2008 13:26
  • Junior...

     

    Nao, nao tenho um comando especifico nao... a situacao a mais ou menos a seguinte....

     

    Tenho em minha tela um grid q recebe o resultado de uma consulta ao bco mediante um filtro feita na tela,

    digamos entao q tenho um botao "Pesquisar" para acionar esta consulta e o preenchimento do grid...

    caso o Pesquisar seja acionado sem nenhum filtro ser preenchido isso me retornaria tds os registros da Tabela

    isso pode deixar minha consulta demorada de acordo com o tamaho da tabela... o q eu gostaria de fazer é colocar ao lado do Pesquisar um outro botao tipo "Parar" q iria interromper a consulta q esta rodando no bco !

     

    Mas como a execucao da query no bco é feito  atravez de uma variavel Connetion eu a principio nao tenho como fazer nada ate receber o retorno do bco dizendo se foi possivel ou nao executar este comando

     

    Ai q entra o q eu gostaria de saber, se existe uma forma de interromper este comando dado ao bco enquanto ele esta sendo executado... q seria como dei ex... o q o Query Analyser faz qdo usamos o botao "Cancel Query"... o botaozinho de Stop q tem la

     

    Não sei se expliquei bem, mas é isso ai q eu preciso...

    vlw junior... ve se pode me ajudar !

    Obrigado a tds !

    quinta-feira, 31 de janeiro de 2008 13:40
  • se vc. usa recordset desconectado nao tem problema, vc. mandar um kill ate porque tera que ser mandado por outro aplicativo pois a execucao a sincrona ( nao se se vc. usa assincrona ) teoriacamente seu aplicativo vai ficar esperando o resultado da consulta. agora, vc. pode determinar pelo

     

    SET QUERY_GOVERNOR_COST_LIMIT

     

    o tempo maximo de execucao, o proprio sql vai matar a execucao neste caso.

     

    Abs;

     

    quinta-feira, 31 de janeiro de 2008 14:05