João, Se vc tiver um comando de INSERT / UPDATE ou DELETE após o BEGIN TRAN, o SQLServer realmente entra em estado de LOCK (define uma aberura de transação). Normalmente, neste estado ele trava apenas a página que contém o registro que vc está querendo atualizar porém isso depende do seu comando SQL de atualização. Muitas vezes, se a tabela é muito grande e envolve muitas páginas fragmentadas, o SQL pode decidir por travar a tabela toda ou até mesmo o banco. Por este motivo, as transações dentro dos seus programas devem ser fechadas o mais breve possível (através do comando COMMIT TRAN ou ROLLBACK TRAN). Pelo que vi no seu e-mail não existe nenhum comando definindo o fim da transação.
Sds, Rodrigo Scarano Target Sistemas http://www.targetsis.com.br/ [EMAIL PROTECTED] -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Joao Batista Sesconetto Enviada em: sexta-feira, 1 de outubro de 2004 08:18 Para: Lista Centura (E-mail) Assunto: [sqlwin] Bloqueio no BD Caros amigos, Esta acontecento um problema em um dos sistemas aqui na empresa que trabalho que não consigo ver o que pode ser de jeito nenhum. O que acontece é sempre quando executo o comando: If NOT SqlPrepareAndExecute ( hSqlInclui, selecao ), Logo apos o banco trava e ninguem faz mais nada. O unico comando que fiz antes deste inserte foi: If NOT SqlPrepareAndExecute( hSqlInclui, 'BEGIN TRAN' ) O banco que uso é o SQL Server 2000. Se alguem puder me dar uma dica ou me direcionar para qualquer solução ficarei muito grato. Att. João B. Sesconetto ANTT/Brasília ============================================== Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) ==============================================
<<attachment: winmail.dat>>