Partilhar via


MSSQLSERVER_3859

Aplica-se a: SQL Server

Detalhes

Atributo Valor
Nome do produto SQL Server
ID do evento 3859
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico DBCC_CHECKCAT_DIRECT_UPDATE
Texto da mensagem Aviso: O catálogo do sistema foi atualizado diretamente na ID do banco de dados %d, mais recentemente em %S_DATE

Explicação

Esse erro indica uma alteração iniciada pelo usuário nas tabelas do sistema. Não há suporte para a atualização manual de tabelas do sistema. As tabelas do sistema só devem ser atualizadas pelo mecanismo de banco de dados do SQL Server. Quando o SQL Server detecta alterações iniciadas pelo usuário nas tabelas do sistema, o erro 3859 é gerado nos dois cenários a seguir:

  • Cenário 1

    Um evento semelhante ao seguinte é registrado no Log de Erros do SQL Server ou no log do aplicativo no Visualizador de Eventos quando você inicia um banco de dados do SQL Server que contém uma tabela do sistema que foi atualizada manualmente:

    Nome do Log: Aplicativo
    Fonte: MSSQLSERVER ID do evento: 3859
    Categoria da tarefa: Servidor
    Nível: Informações
    Descrição: Aviso: o catálogo do sistema foi atualizado diretamente na ID do banco de dados %d, mais recentemente em date_time

  • Cenário 2

    A seguinte mensagem de aviso é retornada quando você executa o comando DBCC_CHECKDB depois que uma tabela do sistema é atualizada manualmente:

    Resultados do DBCC para 'database_name'.
    Mensagem 8992, Nível 16, Estado 1, Linha 1
    Verifique a mensagem de catálogo 3859, estado 1: Aviso: o catálogo do sistema foi atualizado diretamente na ID do banco de dados %d, mais recentemente em date_time.
    CHECKDB encontrou 0 erros de alocação e 0 erros de consistência no banco de dados 'db_name'.
    A execução do DBCC foi concluída. Se o DBCC imprimiu mensagens de erro, contate o administrador do sistema.

Ação do usuário

Para resolver esse problema, use um dos métodos a seguir.

  • Método 1

    Caso você tenha um backup limpo do banco de dados, restaure o banco de dados do backup.

    Observação

    Esse método só funcionará se o backup não tiver inconsistências nos metadados.

  • Método 2

    Caso você não possa restaurar o banco de dados por meio de um backup, exporte os dados e os objetos para um novo banco de dados. Em seguida, transfira o conteúdo do banco de dados atualizado manualmente para o novo banco de dados. Observe que não é possível reparar as inconsistências nos catálogos do sistema usando as opções REPAIR nos comandos DBCC CHECKDB. Portanto, como o comando não pode reparar os metadados corrompidos, o comando não fornece nenhum nível de reparo recomendado.

    Observação

    Veja os dados nas tabelas do sistema por meio das exibições do catálogo do sistema.

Mais informações

Para obter mais informações, consulte: Tabelas Base do Sistema.