Preciso mover um banco de dados do SQL Server 2000 (32 bits) para o SQL Server 2005. Mas, quando anexei meu banco de dados ao SQL Server 2005, ocorre um erro. (erro NOLOCK)
Além disso, depois de executar o comando dbcc check db para erros de banco de dados, estou recebendo o seguinte erro.
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 2: Errors found in text ID 727515136
owned by data record identified by RID = (1:391:14) id = 491864819 and indid = 9.
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 2: Errors found in text ID 727646208
owned by data record identified by RID = (1:391:16) id = 491864819 and indid = 11.
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 2: Errors found in text ID 768802816
owned by data record identified by RID = (1:2243:15) id = 1796253504 and indid = 54.
Server: Msg 8929, Level 16, State 1, Line 1
CHECKDB found 0 allocation errors and 16 consistency errors in database 'XXXXX'.
DBCC execution completed. If DBCC printed error messages,
contact your system administrator.
O melhor recurso on-line para corrupção de banco de dados no mundo do SQL Server é a página da Web de Paul Randal . Ele é a estrela número um do mundo em questões de corrupção. E isso porque ele escreveu todos os comandos de verificação dbcc no SQL Server (e ele é o único que pode entendê-los corretamente :-).
O que eu faria em seu lugar agora seria tentar o método backup-restore de mover o banco de dados para o novo SQL Server ou tentar dbcc com opção de reparo (não antes de fazer um backup do banco de dados).
Há algumas boas informações também no MSDN sobre como tratar esses erros. Verifique o artigo Troubleshooting DBCC error 2570 in SQL Server 2005 .