Usuário com melhor resposta
Socorro! Encontrei um bug no SQL Management Studio???

Pergunta
-
Boa tarde galera.
Estou utilizando o SQL Server 2014 express (v12.0.2269.0) em um Windows7.
Tenho um pequeno código que deleta (se existir) e cria uma Procedure.
Quando seleciono apenas uma e executo, beleza. Mas quando seleciono as duas para executarem juntas recebo o seguinte erro:
Erro fatal de script.
Sintaxe incorreta encontrada ao analisar GO.Quando busco por esse "Sintaxe incorreta encontrada ao analisar GO." no Google não encontro nem 1 referenciazinha.
Que raio de erro é esse? E se eu retiro o GO também recebo um erro:
CREATE/ALTER PROCEDURE' deve ser a primeira instrução em um lote de consultas.
Seguem meu código e as imagens com o erro apenas quando executo tudo junto:
--Apaga se existir IF OBJECT_ID('INDICADORES_RECEITASExcluirTudo') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[INDICADORES_RECEITASExcluirTudo] END GO CREATE PROCEDURE [dbo].[INDICADORES_RECEITASExcluirTudo] @flag bit output,-- retorna 0 se falhar,1 se sucesso @erro nvarchar(max) output -- retorna menssagem de erro AS DECLARE @sql nvarchar(max),-- retorna a Query SQL @IDENT int-- Ocupa parametro que retorna @@IDENTITY para INSERT BEGIN --Chama a procedure que executa a query SET @sql = 'DELETE INDICADORES_RECEITAS' EXEC ExecutaQuery @flag output, @IDENT output, @erro output, @sql, 'INDICADORES_RECEITASExcluirTudo' END GO
- Editado Alam MaserSistema segunda-feira, 31 de julho de 2017 17:15 melhorar explicação do problema
Respostas
-
Então pessoal... eu li que poderia ser algum caractere não printável próximo ao GO que estaria causando o problema. Não tenho certeza e é isso, mas eu redigitei a query, juro por Deus que não mudei nada... nem uma virgula... E parou de acusar o erro.
Não é a primeira vez que acontece... postei aqui na esperança e descobrir o que é, porque a query completa tem mais de 2000 linhas, criando todas as procedures do banco. E ficar redigitando trechos as vezes longos é uma solução inviável.
Em fim resolvi o problema por hora, mas não faço ideia do que causou o problema.
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 1 de agosto de 2017 15:50
Todas as Respostas
-
Alam,
O Banco de Dados e o Management Studio estão na mesma versão? Inclusive com os mesmos Updates e Service Pack?
Se não estiverem, tente compatibilizar os dois e tentar a execução da sua query novamente.
A disposição,
Marcos Roberto de Lima
MCT-MCTS-MCITP-MCPPor favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Olá marcos! Desculpe se dei a entender que eram versões diferentes.
Ambos estão na:
Microsoft SQL Server 2014 - 12.0.2269.0 (Intel X86)
Jun 10 2015 03:19:53
Copyright (c) Microsoft Corporation
Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1).Não creio que seja esse o problema...
- Editado Alam MaserSistema segunda-feira, 31 de julho de 2017 18:31
-
Alam,
Já vi um problema desses e realmente estava relacionado a diferenças de build do Cliente e do Server.
Você tentou executar esse procedimento diretamente na console do servidor através do Query Analyzer do Servidor?
Se não, tente fazer isso e nos informe qual foi o resultado.
A disposição,
Marcos Roberto de Lima
MCT-MCTS-MCITP-MCPPor favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Deleted
- Sugerido como Resposta Fabiano Inácio terça-feira, 1 de agosto de 2017 15:00
-
Então pessoal... eu li que poderia ser algum caractere não printável próximo ao GO que estaria causando o problema. Não tenho certeza e é isso, mas eu redigitei a query, juro por Deus que não mudei nada... nem uma virgula... E parou de acusar o erro.
Não é a primeira vez que acontece... postei aqui na esperança e descobrir o que é, porque a query completa tem mais de 2000 linhas, criando todas as procedures do banco. E ficar redigitando trechos as vezes longos é uma solução inviável.
Em fim resolvi o problema por hora, mas não faço ideia do que causou o problema.
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 1 de agosto de 2017 15:50
-
Alam,
Muito bom que resolveu!!
Ficamos a disposição.
A disposição,
Marcos Roberto de Lima
MCT-MCTS-MCITP-MCPPor favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.