AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 29055
Accepted
Brian Mains
Brian Mains
Asked: 2012-11-22 05:27:10 +0800 CST2012-11-22 05:27:10 +0800 CST 2012-11-22 05:27:10 +0800 CST

Um procedimento armazenado complexo causa exceção de custo estimado

  • 772

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.

sql-server sql-server-2008-r2
  • 2 2 respostas
  • 1588 Views

2 respostas

  • Voted
  1. Best Answer
    Kevin Feasel
    2012-11-22T05:50:27+08:002012-11-22T05:50:27+08:00

    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).

    • 5
  2. Remus Rusanu
    2012-11-22T05:57:28+08:002012-11-22T05:57:28+08:00

    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...

    • 5

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve