MSSQLSERVER_3168

Aplica-se a: SQL Server

Detalhes

Atributo Valor
Nome do produto SQL Server
ID do evento 3168
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico LDDB_SYSTEMWRONGVER
Texto da mensagem O backup do banco de dados do sistema no dispositivo %ls não pode ser restaurado porque foi criado por uma versão diferente (%ls) da versão deste servidor (%ls).

Explicação

Não é possível restaurar um backup de um banco de dados do sistema (mestre, modelo ou msdb) em uma compilação de servidor diferente da compilação na qual o backup foi criado originalmente.

Observação

A instalação de uma atualização de manutenção, como atualização cumulativa ou service pack ou um GDR, altera o número de compilação do servidor. As compilações do servidor são sempre incrementais.

Possíveis causas:

O esquema de banco de dados para bancos de dados do sistema pode ser alterado entre compilações de servidor. Para garantir que uma alteração de esquema não cause inconsistências, a instrução RESTORE compara o número de compilação do servidor do arquivo de backup com o número de compilação do servidor no qual você está tentando restaurar o backup. Se as compilações forem diferentes, a instrução emitirá uma mensagem de erro "3168" e a operação de restauração será encerrada de forma anormal.

Alguns cenários em que esse problema pode ocorrer incluem o seguinte:

  • Você tenta restaurar um banco de dados do sistema no Servidor A a partir de um backup feito no Servidor B. Os servidores A e B estão em compilações de servidor diferentes. Por exemplo, o servidor A pode estar em uma compilação da versão original e o servidor B pode estar em uma compilação de service pack 1 (SP1).

  • Você tenta restaurar um banco de dados do sistema a partir de um backup feito no mesmo servidor. No entanto, o servidor estava executando uma compilação diferente quando o processo de backup foi executado. Ou seja, o servidor foi atualizado desde que o backup foi criado.

Ação do usuário

Para resolver o problema, siga estas etapas:

Observação

Para os procedimentos a seguir, o Servidor A é o servidor baseado no SQL Server de origem no qual o backup é feito e o Servidor B é o servidor baseado no SQL Server de destino para o qual você está tentando restaurar o backup:

  1. Determine a versão do Servidor B (Versão B) usando a seguinte consulta:

    SELECT @@VERSION

  2. Execute uma consulta semelhante à seguinte para determinar a versão do SQL Server que estava em execução quando o backup de origem foi feito (Versão A):

    RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'

  3. Revise os valores de SoftwareVersionMajor, SoftwareVersionMinore colunas SoftwareVersionBuild para determinar a compilação do servidor de origem que foi usado quando o backup foi feito. Por exemplo, suponha que os valores sejam os seguintes:

    • Versão do softwarePrincipal: 15
    • SoftwareVersionMinor: 0
    • SoftwareVersionBuild: 4236 Nesse caso, a versão do SQL Server de origem quando o backup foi feito é 15.0.4236.
  4. Use as tabelas de lista de versões completas do SQL Server ou a planilha de compilações do Excel para determinar a versão do SQL Server à qual a compilação corresponde. Por exemplo, 15.0.4236 é mapeado para SQL Server 2019 CU16+GDR (versão A).

  5. Use uma das seguintes opções:

    • Se a Versão A for maior que a Versão B, use as informações que estão em Atualizações mais recentes e histórico de versões do SQL Server para atualizar o Servidor B para o mesmo build que a Versão A.

    • Se a versão A for menor que a versão B, remova temporariamente as atualizações posteriores usando as seguintes etapas:

      1. No Painel de Controle, selecione Programas > , Programas e Recursos e, em seguida, selecione Exibir atualizações instaladas.

      2. Localize a entrada que corresponde a cada um dos pacotes de atualização posteriores que correspondem à Versão B.

      3. Pressione e segure (ou clique com o botão direito do mouse) na entrada e selecione Desinstalar.

    • Depois de verificar se a Versão B é igual à Versão A, repita a operação de restauração do banco de dados mestre no Servidor B.

  6. (Recomendado) Atualize o Servidor B para a versão mais recente disponível e faça um novo backup dos bancos de dados do sistema.

Confira também

Limitações na restauração de bancos de dados do sistema (SQL Server)

Restaurar o banco de dados mestre (Transact-SQL)

A maneira mais fácil de reconstruir o banco de dados mestre