none
Erro em deleção de registro RRS feed

  • Pergunta

  • Bom Dia a todos, estou com um problema no Microsoft SQL Server Management Studio version 9.00.3042.00.

    Tenho uma tabela que independente da quantidade de registros, eu preciso deletar um único registro,

    "DELETE FROM TABELA WHERE Codigo = '1'", mas quando executo a query o sistema retorna a seguinte mensagem.

    The query processor ran out of stack space during query optimization. Please simplify the query.

    essa tabela tem cerca de 316 Foreign Key dependentes dessa tabela e ela tem cerca 46 Foreign Key apontando para outras tabela.

    preciso realizar essa deleção, agradeço qualquer ajuda.

    Desde ja obrigado.

     

    terça-feira, 28 de agosto de 2007 15:05

Todas as Respostas

  • JMCandido,

     

    Se eu entendi esta tabela possui relacionamento com outras tables, ou seja, se você excluir este registro todas as tables dependentes deste registro serão afetuadas.

     

    Neste caso, você deve excluir primeiramente este registro nas tables dependentes antes de excluir na tabela principal.

     

    Você utilizou no relacionamento entre estas as opções Update Cascade ou Delete Cascade.

    terça-feira, 28 de agosto de 2007 16:38
  •  

    Olá!!!

     

     

    Mas... se tem tantas FKs apontando para essa tabela, não existem registros dependentes desse?? Se forem dependentes, não vai deixar deletar mesmo. Claro, essa não é exatamente a mensagem que está aparecendo, mas é o que eu imagino que possa estar acontecendo.
    terça-feira, 28 de agosto de 2007 16:49
  •  

    Candido...

     

    Más notícias... Encontrei isso no MSDN americano...

    https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=808388&SiteID=1

     

     

    Lá diz que o problema deve estar acontecendo pq ultrapassou o limite de FKs que podem ser gerenciadas pelo Query Processor, que é 253.

     

    Solução, simplificar e diminuir seus relacionamentos.

     

     

     

    Abraço!

    terça-feira, 28 de agosto de 2007 17:00
  • Ola Alexandre VM e Junior Galvão, com relação aos registros dependentes dessas ForeignKeys, com certeza não existe nenhum, pois foi realizado a inserção de dados apenas nessa tabela, ainda em carater de testes de base para migração para a versão 2005 do SQL Server, por isso podemos afirmar não existir dados em outras tabelas dependentes.

    Alexandre eu ja tinha lido alguma coisa a respeito dessa restrição da quantidade de FK's que podem ser gerenciadas, e eu não tenho como diminuir a quantidade de FK's por vários motivos que nem precisamos comentar, é um sistema grande, cerca de 2000 tabelas, A idéia de simplificar não sei também se seria viável, envolve inumeras questões, mas se não houver outra solução ou previsào de outra solução, não nos resta muitas alternativas, fáceis ou não, deverão ser avaliadas.

    Será que existe alguma outra forma de realizar operações de deleção nessas situações, alguma coisa que possamos configurar, ou isso depende mesmo da microsoft alterar a quantidade de FK's gerenciadas pelo Query Processor.

    Desde ja agredeço a atenção e colaboraçào de todos.

     

    quarta-feira, 29 de agosto de 2007 14:31
  •  

     

    Como esta é uma restrição interna do sistema, ficamos sem saída. Não temos como "editar" essa restrição. Eu irei verificar se no SQL 2008 esta restrição continua a mesma, imagino que tenha mudado, já que nele não teremos mais limite de tamanho de registro, por exemplo. Vou verificar e coloco aqui a informação.

     

     

     

    Abraço

    quarta-feira, 29 de agosto de 2007 15:28
  • JMCandido,

     

    Que eu saiba não tem!!!

    quarta-feira, 29 de agosto de 2007 16:17
  • Boa tarde Alexandre!
    Sei que se trata de um post antigo, porém estou vivenciando esse problema atualmente em minha base de dados.
    Através do sistema TOTVS executo o processo de exclusão de um registro e é apresentado o erro citado nessa discussão.

    Utilizamos na empresa o SQL SERVER 2008 R2 SP1.

    Em alguns artigos consultados existem informações que estão relacionadas a quantidade de FK da tabela, porém a no meu caso existem apenas 8 FK'S referenciadas.

    Existe alguma correção para a falha?

    Agradeço desde já apela atenção.



    sexta-feira, 9 de junho de 2017 20:58