Estou recebendo o seguinte SqlException
ao chamar um procedimento armazenado:
A tentativa de buscar a página lógica (5: 65424) no banco de dados 2 falhou. Pertence à unidade de alocação 7349876362857938944 e não a 4899918190390149120.
System.Data.SqlClient.SqlException ocorreu
Mensagem = "Falha ao buscar a página lógica (5: 65424) no banco de dados 2. Falha na propriedade 7349876362857938944 da unidade de alocação 7349876362857938944 e não 4899918190390149120.Origem = "
.Net SqlClient Data Provider" ErrorCode = -2146232060
Classe = 21
LineNumber = 257
Number = 605
Procedure = "ispDisplayCount"
Server = "10.10.1.1"
State = 3
O que essa exceção significa? Existe alguma solução para o problema acima?
Embora o banco de dados mencionado no erro acima indique tempdb, erros semelhantes à mensagem 605 podem ser corrigidos usando as respostas abaixo.
Mensagem 605, nível 21, estado 3, linha 1
Tentativa de buscar a página lógica (1: 8687634) no banco de dados 7 falhou. Pertence à unidade de alocação 72057594364821504 e não a 72057594052476928.
fonte
Consegui resolver isso limpando os caches SQL:
Aparentemente, reiniciar o serviço SQL teria o mesmo efeito.
(via Made By SQL , reproduzida aqui para ajudar outras pessoas!)
fonte
Provavelmente, os dados nas tabelas estavam corrompidos.
fonte
O que você ouviria de muitas pessoas é " o banco de dados está corrompido, você precisa restaurar ", mesmo sem recomendar que você dedique alguns minutos para fazer o seguinte; revise seus logs, descubra quando o problema ocorreu pela primeira vez, o erro que precedeu essa linha, confira o banco de dados / tabela à qual a página pertence
No meu caso, esse erro foi precedido por;
Uma solução alternativa era rastrear o índice referido e excluí-lo temporariamente.
Mais tarde, encontrei um link deste Microsoft que descreve meu problema exato e oferece um link de solução
espero que isso ajude alguém no futuro
fonte