Erreur lors du démarrage du service SQL Server 2017. Code d'erreur 3417


13

J'ai SQL Server 2017 installé sur mon ordinateur. C'est ce qui SELECT @@VERSIONrevient:

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

Ça fonctionnait bien jusqu'à hier. Soudain, SQL SERVER Servicen'a pas couru. Lorsque je voulais exécuter le service manuellement, cela se voyait 3417 error. Lorsque j'ai vérifié le journal des événements, j'ai vu cette erreur:

La mise à niveau au niveau du script pour la base de données 'maître' a échoué car l'étape de mise à niveau 'msdb110_upgrade.sql' a rencontré l'erreur 200, état 7, gravité 25. Il s'agit d'une condition d'erreur grave qui peut interférer avec le fonctionnement normal et la base de données sera mise hors ligne. Si l'erreur s'est produite lors de la mise à niveau de la base de données «principale», elle empêchera le démarrage de l'instance SQL Server entière. Examinez les entrées du journal d'erreurs précédentes pour rechercher des erreurs, effectuez les actions correctives appropriées et redémarrez la base de données pour que les étapes de mise à niveau du script se terminent. »

Après quelques recherches sur Google, j'ai découvert que je pouvais l'exécuter avec /T902 switchet essayer de résoudre le problème. Mais aucune solution n'a fonctionné pour moi. J'ai donc installé une autre instance des mêmes SQL SERVER 2017bases de données et restaurées. Maintenant, la nouvelle instance installée a le même problème.

Quel pourrait être le problème?

MISE À JOUR Voici le journal des erreurs complet de SQL Server.

2018-09-17 13: 06: 47.29 spid6s L'option de configuration 'show advanced options' est passée de 1 à 1. Exécutez l'instruction RECONFIGURE pour installer.

2018-09-17 13: 06: 47.29 spid6s L'option de configuration 'show advanced options' est passée de 1 à 1. Exécutez l'instruction RECONFIGURE pour installer.

2018-09-17 13: 06: 47.29 spid6s L'option de configuration 'Agent XPs' est passée de 1 à 1. Exécutez l'instruction RECONFIGURE pour installer.

2018-09-17 13: 06: 47.29 spid6s L'option de configuration 'Agent XPs' est passée de 1 à 1. Exécutez l'instruction RECONFIGURE pour installer.

2018-09-17 13: 06: 47.29 spid6s Création de dossiers SSIS ...

17/09/2018 13: 06: 47.30 spid6s Procédure de suppression [dbo]. [Sp_syscollector_get_instmdw]

17/09/2018 13: 06: 47.30 spid6s Procédure de création [dbo]. [Sp_syscollector_get_instmdw] ...

2018-09-17 13: 06: 47.30 Procédure de suppression de spid6s [dbo]. [Sp_syscollector_upload_instmdw]

17/09/2018 13: 06: 47.30 spid6s Procédure de création [dbo]. [Sp_syscollector_upload_instmdw] ...

2018-09-17 13: 06: 47.30 spid6s Téléchargement du package du collecteur de données à partir du disque: c: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Téléchargement du package du collecteur de données à partir du disque: c: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Erreur: 2775, gravité: 17, état: 12.

2018-09-17 13: 06: 47.30 spid6s La page de codes 65001 n'est pas prise en charge par le serveur.

2018-09-17 13: 06: 47.30 spid6s Erreur: 912, gravité: 21, état: 2.

2018-09-17 13: 06: 47.30 La mise à niveau du niveau de script spid6s pour la base de données 'maître' a échoué car l'étape de mise à niveau 'msdb110_upgrade.sql' a rencontré l'erreur 200, état 7, gravité 25. Il s'agit d'une condition d'erreur grave qui peut interférer avec le fonctionnement normal et la base de données sera mise hors ligne. Si l'erreur s'est produite lors de la mise à niveau de la base de données «principale», elle empêchera le démarrage de l'instance SQL Server entière. Examinez les entrées du journal d'erreurs précédentes pour rechercher des erreurs, effectuez les actions correctives appropriées et redémarrez la base de données afin que les étapes de mise à niveau du script se terminent.

2018-09-17 13: 06: 47.30 spid6s Erreur: 3417, gravité: 21, état: 3.

17/09/2018 13: 06: 47.30 spid6s Impossible de récupérer la base de données master. SQL Server ne peut pas s'exécuter. Restaurez le maître à partir d'une sauvegarde complète, réparez-le ou reconstruisez-le. Pour plus d'informations sur la façon de reconstruire la base de données master, consultez la documentation en ligne de SQL Server.

2018-09-17 13: 06: 47.30 L'arrêt de SQL Server spid6s a été lancé

2018-09-17 13: 06: 47.30 spid6s SQL Trace a été arrêté en raison de l'arrêt du serveur. ID de trace = '1'. Il s'agit d'un message d'information uniquement; Aucune action de l'utilisateur n'est requise.

MISE À JOUR Cette ligne a quelque chose à dire. The code page 65001 is not supported by the server.Mes fenêtres récemment mises à jour Version 1803 (OS Build 17134.285). Après cette mise à jour, certains textes d'application sont devenus des caractères inconnus. Cela peut-il être la cause du problème?

Image de registre pour la page de codes

Réponses:


16

Je commencerais par dire que vous exécutez SQL Server 2017 sur Windows 10 (système d'exploitation client) qui n'est pas pris en charge, voir Configuration matérielle et logicielle requise pour SQL Server 2017 . Vous perdez la capacité de l'édition entreprise et beaucoup d'argent en l'exécutant sur le système d'exploitation client.

De plus, je crois que ces problèmes sont principalement des bogues, je vous suggère donc d'appliquer la dernière version de SQL Server 2017 CU 10 . Faites-moi savoir si cela résout le problème. Si vous souhaitez essayer cette solution de contournement, reportez-vous à ce blog .

Comme confirmé par OP, les problèmes n'ont pas été résolus même après l'application de SQL Server 2017 CU10.

EDIT: Le problème commence par la déclaration ci-dessous

2018-09-17 13: 06: 47.30 spid6s La page de codes 65001 n'est pas prise en charge par le serveur.

Le code page65001 signifie un codage UTF 8 qui n'est pas pris en charge par SQL Server et cela, je crois, est à l'origine du problème. C'est définitivement un BUG, je suis perplexe pourquoi cela n'est toujours pas corrigé dans CU10. Le processus de mise à niveau essaie de bulk loaddonnées ayant un codage UTF 8 et comme SQL Server ne le prend pas en charge, il échoue.

Vous avez Windows 10, allez control panemaintenant, sélectionnez l' region and languageapplet, cela pourrait être juste regionpour vous sur Windows 10. Allez dans administrative tabet dans la partie inférieure de l'onglet, vous devez cliquer sur change system Localepuis continuer et activer / sélectionner la bêta: Support UTF8 et démarrer la machine Windows. Vous trouverez ci-dessous les options disponibles sur ma machine Windows 7. L'option peut être presque la même pour Windows 10.

entrez la description de l'image ici

Conformément à OP, tous les problèmes ont commencé après l'application de certains correctifs du système d'exploitation. Le problème a été résolu après avoir décoché la "Bêta: prise en charge UTF8" . Le problème semble être de 2 choses.

  1. OP a déjà Beta: le support UTF8 a été vérifié et fonctionnait bien jusqu'à ce qu'il applique le patch du système d'exploitation qui a changé "quelque chose".

  2. Le problème a été résolu après avoir décoché la version bêta: prise en charge UTF8 à partir du panneau de configuration avec le correctif du système d'exploitation déjà là.

Le serveur SQL fonctionnait correctement avec la prise en charge de la version bêta: UTF8, mais lorsque le correctif du système d'exploitation a été appliqué, «quelque chose» s'est cassé de telle manière que la base de données maître SQL Server n'a pas pu se mettre en ligne, message indiquant que la page de codes 65001 n'est pas prise en charge. Désactivation de la version bêta: UTF8 à partir du panneau de configuration a résolu le problème. Bien que je pense que c'est plus une solution de contournement et MS doit sortir avec un article KB approprié pour cela.

PS: J'ai également trouvé Connect Bug déjà soulevé pour ce problème. Lorsque je dis non pris en charge (pour l'installation de l'édition Enterprise sur le système d'exploitation client), cela ne signifie pas que vous ne pouvez pas exécuter cette infrastructure, cela signifie uniquement que vous êtes seul si vous rencontrez un "bug" ou si quelque chose échoue de manière inattendue. Si vous soulevez un cas avec MS au sujet d'un tel problème, je suis sûr qu'ils le signaleront.


1
@Beginner et Shanky: J'ai vérifié ce fichier ( C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx) dans Notepad ++ et il montre un encodage de "UCS-2 LE BOM", qui est vraiment UTF-16 LE, qui dans Microsoft-land est appelé "Unicode". Je ne sais pas si le bogue est dans Windows ou SQL Server, mais étant donné que le fichier a une marque d'ordre des octets (BOM), il ne devrait pas avoir tenté de le lire en UTF-8 quel que soit l'encodage par défaut du système. C'est, après tout, tout le but d'avoir la nomenclature ;-) Le fichier commence même avec: <?xml version="1.0" encoding="utf-16"?>.
Solomon Rutzky

1
J'ai installé l'édition développeur (SQL Server 2014, je dois tester la compatibilité à l'envers) et la même chose s'applique ici. Votre solution a très bien fonctionné pour cela.
jgauffin

2
Le problème a été résolu après avoir décoché la "Bêta: prise en charge UTF8". MERCI @Shanky, je perds deux jours sur ce problème et vous sauvez ma journée.
TechNovIT
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.