Outro dia meu banco de dados apresentou o seguinte erro na execução de uma consulta a uma determinada tabela.
Microsoft OLE DB Provider for SQL Server error ‘80004005’
SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:93080; actual 0:0). It occurred during a read of page (1:93080) in database ID 6 at offset 0x0000002d730000 in file ‘F:\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\estagdedic.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
O erro acontecia somente em determinadas condições de pesquisa.
Um dos motivos desse erro é o arquivo de paginação de algum índice que estava corrompido.
Para resolver foi executados os seguinte comandos:
— estagdedic é o nome do banco de dados
use master
print ‘————————————————————–‘
print ‘ALTERANDO para modo SINGLE_USER’
ALTER DATABASE estagdedic SET SINGLE_USER WITH ROLLBACK IMMEDIATE
print ‘————————————————————–‘
print ‘EXECUTANDO REPAIR_ALLOW_DATA_LOSS’
DBCC CheckDB (‘estagdedic ‘, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS
print ‘————————————————————–‘
print ‘Alterando para modo MULTI_USER’
ALTER DATABASE estagdedic SET MULTI_USER
print ‘————————————————————–‘
print ‘executando CHECKDB’
DBCC CHECKDB (‘estagdedic ‘) WITH ALL_ERRORMSGS
print ‘————————————————————–‘
print ‘FIM’
Deixe um comentário