query analyser
16/11/2011
0
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
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
Victor Pavia
Curtir tópico
+ 0
Responder
Posts
16/11/2011
Marco Pinheiro
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.
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.
Responder
Clique aqui para fazer login e interagir na Comunidade :)