No SQL Server, estou recebendo o seguinte erro "A consulta foi cancelada porque o custo estimado desta consulta (5822) excede o limite configurado de 300. Entre em contato com o administrador do sistema."
Este é o resultado da execução de um procedimento armazenado, que é bastante complexo. Não encontrei isso para outros procedimentos armazenados, apenas este. É possível alterar o custo da consulta para este procedimento de alguma forma? Posso fazer isso no próprio procedimento armazenado durante a execução? Ou tenho que definir isso apenas no servidor?
Estou usando o comando ADO.NET para executar o procedimento armazenado.
Obrigado.
Parece que você está atingindo os limites de custo do governador de consulta . O que está acontecendo é que o mecanismo de banco de dados calcula que sua consulta levará 5822 segundos (97 minutos) para ser executada. Alguém, no entanto, configurou uma configuração para eliminar qualquer consulta que deve ser executada por mais de 300 segundos (5 minutos).
Para ver se isso se aplica a você,
exec sp_configure 'query governor cost limit'
e veja qual é esse run_value. Meu pensamento é que atualmente está definido para 300.Se você não quiser alterar o limite em geral, poderá executar esta consulta definindo o limite antecipadamente :
set query_governor_cost_limit 0
. Isso ajustará a sessão específica para desativar quaisquer limites de custo, pois você sabe que sua consulta ultrapassará o limite e não se importa muito. Observe que você precisaria de algumas permissões sérias para executar essa instrução (o documento do MSDN diz sysadmin).Seu administrador configurou o limite de custo do governador de consulta global para 300 (5 minutos). Parece uma proteção decente para proteger contra a implantação de procedimentos não otimizados. Você implantou um procedimento não otimizado e foi pego. Sua ação deve ser otimizar o procedimento. Descubra qual consulta no procedimento tem um custo tão alto (o custo é por consulta , não por procedimento), veja qual índice está faltando e corrija. Não pergunte como contornar o máximo (razoável) e como ter permissão para executar uma consulta com um custo estimado de quase 2 horas...