Query aberta no FireDAC + SQL Server não permite ALTER TABLE

SQL Server

Delphi

FireDAC

18/07/2019

Olá!
Estou com o seguinte problema há algum tempo, se alguém puder ajudar agradeço:
Tenho uma aplicação com FDQuerys abertas ex.("SELECT * FROM Clientes", com RequestLive=False), e ao mesmo tempo, pelo SQL Management tento adicionar uma coluna na tabela Clientes (ALTER "TABLE Clientes ADD NrTeste INT NULL"). Quando mando executar esse ALTER TABLE, fica travado, pois aquela FDQuery fica locando a tabela e só cria essa coluna se fechar a aplicação com a FDQuery que esta usando esta tabela.
Alguém sabe como resolver isso?
Gunnerbrasil

Gunnerbrasil

Curtidas 0

Respostas

Alex William

Alex William

18/07/2019

Olá, amigo.

Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:

SELECT * FROM Clientes (nolock);


Assim acredito que você consiga executar sua alteração enquanto pesquisa.

Espero ter ajudado. :D
GOSTEI 0
Gunnerbrasil

Gunnerbrasil

18/07/2019

Olá, amigo.
Quando for dar um select no SQLServer, use "nolock" pra evitar que a seleção tranque a tabela:
SELECT * FROM Clientes (nolock);

Assim acredito que você consiga executar sua alteração enquanto pesquisa.
Espero ter ajudado. :D


Obrigado por responder. Já tinha colocado o (NOLOCK,) mas mesmo assim o erro acontece...
Eu consigo dar UPDATEs na tabela e não dá erro, só não consigo fazer o ALTER TABLE funcionar.
GOSTEI 0
POSTAR