Erro ao iniciar o serviço SQL Server 2017. Código de erro 3417

12

Eu tenho o SQL Server 2017 instalado no meu computador. É isso que SELECT @@VERSIONretorna:

Microsoft SQL Server 2017 (RTM-GDR) (KB4293803) - 14.0.2002.14 (X64) 21 de julho de 2018 07:47:45 Copyright (C) 2017 Microsoft Corporation Enterprise Edition (64 bits) no Windows 10 Enterprise 10.0 (Build 17134: ) `

Estava funcionando bem até ontem. De repente SQL SERVER Servicenão correu. Quando eu queria executar o serviço manualmente, ele mostrou 3417 error. Quando verifiquei o log de eventos, vi este erro:

A atualização no nível de script do banco de dados 'mestre' falhou porque a etapa de atualização 'msdb110_upgrade.sql' encontrou o erro 200, estado 7, gravidade 25. Essa é uma condição de erro grave que pode interferir na operação regular e o banco de dados será colocado offline. Se o erro ocorreu durante a atualização do banco de dados 'mestre', impedirá a inicialização de toda a instância do SQL Server. Examine se há erros nas entradas anteriores do log de erros, execute as ações corretivas apropriadas e reinicie o banco de dados para que as etapas de atualização do script sejam concluídas.

Depois de pesquisar no Google, descobri que posso executá-lo /T902 switche tentar resolver o problema. Mas nenhuma solução funcionou para mim. Então, instalei outra instância dos mesmos SQL SERVER 2017bancos de dados e restaurei. Agora a nova instância instalada tem o mesmo problema.

Qual poderia ser o problema?

ATUALIZAÇÃO Aqui está o log de erros completo do SQL Server.

2018-09-17 13: 06: 47.29 spid6s A opção de configuração 'mostrar opções avançadas' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.

2018-09-17 13: 06: 47.29 spid6s A opção de configuração 'mostrar opções avançadas' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.

2018-09-17 13: 06: 47.29 spid6s A opção de configuração 'Agent XPs' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.

2018-09-17 13: 06: 47.29 spid6s A opção de configuração 'Agent XPs' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.

2018-09-17 13: 06: 47.29 spid6s Criando pastas SSIS ...

2018-09-17 13: 06: 47.30 spid6s Procedimento de descarte [dbo]. [Sp_syscollector_get_instmdw]

2018-09-17 13: 06: 47.30 spid6s Criando o procedimento [dbo]. [Sp_syscollector_get_instmdw] ...

2018-09-17 13: 06: 47.30 spid6s Procedimento de descarte [dbo]. [Sp_syscollector_upload_instmdw]

2018-09-17 13: 06: 47.30 spid6s Criando o procedimento [dbo]. [Sp_syscollector_upload_instmdw] ...

2018-09-17 13: 06: 47.30 spid6s Fazendo upload do pacote do coletor de dados do disco: c: \ Arquivos de Programas \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Fazendo upload do pacote do coletor de dados do disco: c: \ Arquivos de Programas \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Erro: 2775, Gravidade: 17, Estado: 12.

2018-09-17 13: 06: 47.30 spid6s A página de código 65001 não é suportada pelo servidor.

2018-09-17 13: 06: 47.30 spid6s Erro: 912, Gravidade: 21, Estado: 2.

2018-09-17 13: 06: 47.30 spid6s A atualização no nível de script para o banco de dados 'mestre' falhou porque a etapa de atualização 'msdb110_upgrade.sql' encontrou o erro 200, estado 7, gravidade 25. Esta é uma condição de erro grave que pode interferir na operação regular e o banco de dados será colocado offline. Se o erro ocorreu durante a atualização do banco de dados 'mestre', impedirá a inicialização de toda a instância do SQL Server. Examine se há erros nas entradas anteriores do log de erros, execute as ações corretivas apropriadas e reinicie o banco de dados para que as etapas de atualização do script sejam concluídas.

2018-09-17 13: 06: 47.30 spid6s Erro: 3417, Gravidade: 21, Estado: 3.

2018-09-17 13: 06: 47.30 spid6s Não é possível recuperar o banco de dados mestre. O SQL Server não pode ser executado. Restaure o mestre de um backup completo, repare-o ou reconstrua-o. Para obter mais informações sobre como reconstruir o banco de dados mestre, consulte os Manuais Online do SQL Server.

2018-09-17 13: 06: 47.30 O desligamento do spid6s SQL Server foi iniciado

2018-09-17 13: 06: 47.30 O rastreamento do spid6s SQL foi parado devido ao desligamento do servidor. ID de rastreamento = '1'. Esta é apenas uma mensagem informativa; Não é necessária nenhuma ação do usuário.

ATUALIZAÇÃO Esta linha tem algo a dizer. The code page 65001 is not supported by the server.Minhas janelas recentemente atualizadas para Version 1803 (OS Build 17134.285). Após esta atualização, alguns textos de aplicativos foram alterados para caracteres desconhecidos. Essa pode ser a causa do problema?

Imagem do Registro para a Página de Código

Principiante
fonte

Respostas:

15

Gostaria de começar dizendo que você está executando o SQL Server 2017 no Windows 10 (SO cliente), que não é suportado, consulte Requisitos de hardware e software para o SQL Server 2017 . Você está desperdiçando a capacidade da edição corporativa e muito dinheiro executando-a no SO do cliente.

Além disso, acredito que esses problemas sejam principalmente erros, então sugiro que você aplique o SQL Server 2017 CU 10 mais recente . Deixe-me saber se isso resolve o seu problema. Se você quiser tentar uma solução alternativa para esses problemas, consulte este blog .

Conforme confirmado pelo OP, os problemas não foram resolvidos mesmo após a aplicação do SQL Server 2017 CU10.

EDIT: O problema começa com a instrução abaixo

2018-09-17 13: 06: 47.30 spid6s A página de código 65001 não é suportada pelo servidor.

O code page65001 significa codificação UTF 8 que não é suportada pelo SQL Server e acredito que esteja causando o problema. Definitivamente, este é um erro. Estou perplexo porque isso ainda não foi corrigido no CU10. O processo de atualização está tentando bulk loaddados com codificação UTF 8 e, como o SQL Server não oferece suporte, está falhando.

Você tem o Windows 10 control pane, agora selecione o region and languageapplet, pode ser apenas regionpara você no Windows 10. Vá para administrative tabe na parte inferior da guia em que você deve clicar change system Localee, em seguida, vá em frente e ative / selecione o Beta: Suporte UTF8 e inicie a máquina do windows. Abaixo está o que as opções parecem da minha máquina Windows 7. A opção pode ser quase a mesma para o Windows 10.

insira a descrição da imagem aqui

Conforme o OP, todos os problemas começaram após a aplicação de determinado patch do SO. O problema foi resolvido após desmarcar o "Suporte Beta: UTF8" . A questão parece ser duas coisas.

  1. O OP já tem o Suporte Beta: UTF8 verificado e estava funcionando bem até que ele aplicou o patch do SO que mudou "algo".

  2. O problema foi resolvido após desmarcar a opção Beta: UTF8 Support no painel de controle com o patch do SO já disponível.

O SQL Server estava funcionando bem com o Suporte Beta: UTF8, mas quando o patch do sistema operacional foi aplicado, "algo" quebrou de tal maneira que o banco de dados mestre do SQL Server não pôde ficar online, mensagem que não suporta a página de código 65001. Desativar o Beta: UTF8 no painel de controle resolveu o problema. Embora eu acredite que isso seja mais uma solução alternativa e a MS precise publicar o artigo da KB adequado para isso.

PS: Também encontrei o Bug do Connect já criado para esse problema. Quando digo que não é suportado (para instalar o Enterprise Edition no sistema operacional cliente), isso não significa que você não pode executar essa infraestrutura, apenas significa que você está sozinho se pressionar algum "bug" ou se algo inesperadamente falhar. Se você levantar um caso com a MS sobre qualquer problema, tenho certeza de que eles apontariam isso.

Shanky
fonte
1
@Beginner e Shanky: Eu verifiquei esse arquivo ( C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx) no Notepad ++ e ele mostra uma codificação de "UCS-2 LE BOM", que é realmente UTF-16 LE, que na Microsoft-land é chamado "Unicode". Não tenho certeza se o bug está no Windows ou no SQL Server, mas como o arquivo possui uma BOM (Byte Order Mark), ele não deveria ter tentado lê-lo como UTF-8, independentemente da codificação padrão do sistema. Isto é, apesar de tudo, todo o propósito de ter o BOM ;-) O arquivo ainda começa com: <?xml version="1.0" encoding="utf-16"?>.
Solomon Rutzky
1
Eu instalei a edição do desenvolvedor (SQL Server 2014, tenho que testar a compatibilidade com versões anteriores) e a mesma coisa se aplica lá. Sua solução funcionou muito bem para isso.
Jgauffin 21/05/19
1
O problema foi resolvido após desmarcar o "Suporte Beta: UTF8". Obrigado @ Shank, desperdicei dois dias nessa questão e você me salvou.
TechNovIT 30/10/19