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 (master, modelo ou msdb) em um build de servidor diferente do build no qual o backup foi criado originalmente.

Observação

Instalar uma atualização de manutenção, como atualização cumulativa ou service pack ou uma GDR, altera o número de build do servidor. Os builds de servidor são sempre incrementais.

Possíveis causas

O esquema de banco de dados para bancos de dados do sistema pode ser alterado entre builds de servidor. Para garantir que uma alteração de esquema não cause inconsistências, a instrução RESTORE compara o número de build do servidor do arquivo de backup com o número de build do servidor no qual você está tentando restaurar o backup. Se os builds forem diferentes, a instrução emitirá uma mensagem de erro "3168" e a operação de restauração terminará 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 de um backup feito no Servidor B. Os servidores A e B estão em diferentes builds de servidor. 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 de um backup que é feito no mesmo servidor. No entanto, o servidor estava executando um build 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 em SQL Server de origem no qual o backup é feito e o Servidor B é o servidor baseado em 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. Examine os valores das SoftwareVersionMajorcolunas , SoftwareVersionMinore 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:

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

  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 no histórico de atualizações e versões mais recentes para SQL Server atualizar o Servidor B para o mesmo build da 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. Em 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 master 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 master (Transact-SQL)

A maneira mais fácil de recompilar o banco de dados master