Array
(
)

Banco de dados Bloqueado

Leorez
   - 12 nov 2004

O meu problema é o sequinte.
Tenho uma tabela de lançamento de cheques e um table de movimento
está tabela de cheque tem um 2000 registro e preciso inserir na table de movimento mais tenho que inserir os 2000 registro. Como uso o StartTransaction no início e o Commit no final minha tabela de movimento fica bloqueada ate que os 2000 registro sejá concluido não deichando inseir dados no movimento por outro usuário. Tem como bloque só os registro inserido? Pois toda tabela fica bloqueada.

Uso acesso vi ODBC mais BDE e o banco é o SQL Server 2000.
Desde já obrigado.

Marcus.magalhaes
   - 12 nov 2004

Boa tarde leorez.

O problema que vc citou, se usado com transação vai sempre causar o bloqueio, porque o volume de dados é grande. A transações devem ser utilizadas em processos rápidos para que isso seja evitado.

A saída é vc nunca utilizar transações para cargas, somente para processos de I/O onde o nro de transações não seja grande.

O que vc pode fazer para realizar esta sua carga é:
1) Não utilizar transação;
2) Se for uma outra base de dados ou arquivo texto, efetuar esta carga através do DTS.

PS.: Qq das 2 alternativas deve ser realizada num horário de pouca utilização da base de dados, pois irá causar impacto, visto que com este volume de dados, os índices possívelmente sofreram acrescimento e por consequência, ocorrerá a criação de novas páginas de dados e índices, o que afetará a performance durante a execução do mesmo.

Espero ter ajudado.

Att,