Array
(
)

query analyser

Victor Pavia
   - 16 nov 2011

Boa tarde a todos,
Tenho uma consulta que roda em um de meus servidores no query analyser, mas em outro de teste não roda. Simplesmente fica executando mas não retorna o resultado.
Os dois servidores são windows 2003 server / SQL Server 2000. Abaixo a query:
SELECT FCFO.email,FCFO.CGCCFO,FCFO.telefone,FCFO.rua,FCFO.numero,FCFO.CEP,FCFO.complemento,
FCFO.bairro,FCFO.cidade,FCFO.codcfo,FCFO.NOME,FCFO.USUARIOCRIACAO,DTEMISSAO, NMOV,fc.mala_direta
FROM FCFO WITH (NOLOCK)
LEFT JOIN FCFOCOMPL FC ON (FC.CODCFO = FCFO.CODCFO)
INNER JOIN FCFODEF ON (FCFO.CODCFO = FCFODEF.CODCFO)
LEFT JOIN (select codcfo,max(dataemissao) AS DTEMISSAO, MAX(NUMEROMOV) as NMOV from tmov WITH (NOLOCK) group by codcfo)T1
ON (T1.CODCFO = FCFO.CODCFO),TMOVCOMPL

WHERE FCFODEF.CODVEN=0005

GROUP BY FCFO.email,FCFO.CEP,FCFO.CGCCFO,FCFO.telefone,FCFO.rua,FCFO.numero,FCFO.complemento,
FCFO.bairro,FCFO.cidade,FCFO.USUARIOCRIACAO,FCFO.codcfo,FCFO.NOME,DTEMISSAO, NMOV, FC.mala_direta
ORDER BY FCFO.NOME

PS: se eu removo o LEFT JOIN (select codcfo,max(dataemissao) AS DTEMISSAO, MAX(NUMEROMOV) as NMOV from tmov WITH (NOLOCK) group by codcfo)T1 funciona. Pode ser algum parâmetro do sql server talvez.
Obrigado

Marco Pinheiro
   - 16 nov 2011

Victor,

Isso é muito estranho. Mas dentro do cenário apresentado pode ser problema no seu ambiente.

- As bases são identicas? Pois pode ser um problema grave de performance na base.
- No servidor que NÃO roda será que não tem nada que o esteja onerando? Talvez outros processos que não são do SQL estejam pesando a consulta.
- Se vc testar em outra máquina?

Caso a última sugestão funcione, sugiro reinstalar o SQL neste servidor.

Att.,

Marco.