Ошибка запуска службы SQL Server 2017. Код ошибки 3417

13

У меня установлен SQL Server 2017 на моем компьютере. Вот что SELECT @@VERSIONвозвращает:

Microsoft SQL Server 2017 (RTM-GDR) (KB4293803) - 14.0.2002.14 (X64) 21 июля 2018 г. 07:47:45 Авторское право (C) 2017 Выпуск Microsoft Corporation Enterprise (64-разрядная версия) в Windows 10 Enterprise 10.0 (сборка 17134: ) `

До вчерашнего дня все работало нормально. Внезапно SQL SERVER Serviceне побежал. Когда я захотел запустить сервис вручную, это показало 3417 error. Когда я проверил журнал событий, я увидел эту ошибку:

Не удалось обновить уровень сценария для базы данных «master», поскольку на этапе обновления msdb110_upgrade.sql обнаружена ошибка 200, состояние 7, серьезность 25. Это серьезная ошибка, которая может помешать нормальной работе, и база данных будет переведена в автономный режим. Если ошибка произошла во время обновления базы данных «master», это предотвратит запуск всего экземпляра SQL Server. Изучите предыдущие записи в журнале ошибок на наличие ошибок, примите соответствующие корректирующие меры и перезапустите базу данных, чтобы выполнить шаги по обновлению сценария.

После некоторого поиска в Google я узнал, что могу запустить его /T902 switchи попытаться решить проблему. Но ни одно решение не помогло мне. Поэтому я установил другой экземпляр той же SQL SERVER 2017и восстановил базы данных. Теперь у нового установленного экземпляра та же проблема.

В чем может быть проблема?

ОБНОВЛЕНИЕ Вот полный журнал ошибок SQL Server.

2018-09-17 13: 06: 47.29 spid6s Параметр конфигурации «Показать дополнительные параметры» изменен с 1 на 1. Запустите инструкцию RECONFIGURE для установки.

2018-09-17 13: 06: 47.29 spid6s Параметр конфигурации «Показать дополнительные параметры» изменен с 1 на 1. Запустите инструкцию RECONFIGURE для установки.

2018-09-17 13: 06: 47.29 spid6s Параметр конфигурации «Agent XPs» изменен с 1 на 1. Запустите инструкцию RECONFIGURE для установки.

2018-09-17 13: 06: 47.29 spid6s Параметр конфигурации «Agent XPs» изменен с 1 на 1. Запустите инструкцию RECONFIGURE для установки.

2018-09-17 13: 06: 47.29 spid6s Создание папок SSIS ...

2018-09-17 13: 06: 47.30 Процедура удаления spid6s [dbo]. [Sp_syscollector_get_instmdw]

2018-09-17 13: 06: 47.30 spid6s Создание процедуры [dbo]. [Sp_syscollector_get_instmdw] ...

2018-09-17 13: 06: 47.30 Процедура удаления spid6s [dbo]. [Sp_syscollector_upload_instmdw]

2018-09-17 13: 06: 47.30 spid6s Создание процедуры [dbo]. [Sp_syscollector_upload_instmdw] ...

2018-09-17 13: 06: 47.30 spid6s Загрузка пакета сборщика данных с диска: c: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Загрузка пакета сборщика данных с диска: c: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL2017 \ MSSQL \ Install \ SqlTraceCollect.dtsx

2018-09-17 13: 06: 47.30 spid6s Ошибка: 2775, серьезность: 17, состояние: 12.

2018-09-17 13: 06: 47.30 spid6s Кодовая страница 65001 не поддерживается сервером.

2018-09-17 13: 06: 47.30 spid6s Ошибка: 912, серьезность: 21, состояние: 2.

2018-09-17 13: 06: 47.30 spid6s Обновление уровня сценария для базы данных «master» не выполнено, поскольку на этапе обновления «msdb110_upgrade.sql» обнаружена ошибка 200, состояние 7, серьезность 25. Это серьезная ошибка, которая может помешать нормальной работе и база данных будет переведена в автономный режим. Если ошибка произошла во время обновления базы данных «master», это предотвратит запуск всего экземпляра SQL Server. Изучите предыдущие записи в журнале ошибок на наличие ошибок, выполните соответствующие корректирующие действия и перезапустите базу данных, чтобы выполнить шаги по обновлению сценария до завершения.

2018-09-17 13: 06: 47.30 spid6s Ошибка: 3417, серьезность: 21, состояние: 3.

2018-09-17 13: 06: 47.30 spid6s Не удалось восстановить основную базу данных. SQL Server не может работать. Восстановите мастер из полной резервной копии, восстановите или восстановите его. Дополнительные сведения о том, как перестроить основную базу данных, см. В электронной документации по SQL Server.

2018-09-17 13: 06: 47.30 spid6s Завершение работы SQL Server

2018-09-17 13: 06: 47.30 Трассировка SQL spid6s была остановлена ​​из-за выключения сервера. Идентификатор трассы = '1'. Это только информационное сообщение; От пользователя не потребуется никаких действий.

ОБНОВЛЕНИЕ Эта строка имеет что сказать. The code page 65001 is not supported by the server.Мои последние окна обновлены до Version 1803 (OS Build 17134.285). После этого обновления текст некоторых приложений изменился на неизвестные символы. Может ли это быть причиной проблемы?

Изображение реестра для кодовой страницы

начинающий
источник

Ответы:

16

Я хотел бы начать с того, что вы используете SQL Server 2017 в Windows 10 (клиентская ОС), которая не поддерживается, см. Требования к аппаратному и программному обеспечению для SQL Server 2017 . Вы тратите впустую возможности корпоративной версии и много денег, запустив ее на клиентской ОС.

Кроме того, я считаю, что такие проблемы в основном являются ошибками, поэтому я бы предложил вам применить последнюю версию SQL Server 2017 CU 10 . Дайте мне знать, если это решит вашу проблему. Если вы хотите попробовать обойти эти проблемы, пожалуйста, обратитесь к этому блогу .

Как подтвердил ОП, проблемы не были решены даже после применения SQL Server 2017 CU10.

РЕДАКТИРОВАТЬ: проблема начинается с утверждением ниже

2018-09-17 13: 06: 47.30 spid6s Кодовая страница 65001 не поддерживается сервером.

В code page65001 означает UTF - 8 кодировку , которая не поддерживается SQL Server , и это я считаю , что вызывает проблему. Это определенно ошибка, я озадачен, почему это все еще не исправлено в CU10. Процесс обновления пытается получить bulk loadданные, имеющие кодировку UTF 8, и, поскольку SQL Server не поддерживает их, происходит сбой.

У вас есть Windows 10, перейдите control pane, теперь выберите region and languageапплет, это может быть только regionдля вас на Windows 10. Перейдите на administrative tabи в нижней части вкладки вы должны нажать change system Localeи затем идти вперед и активировать / выбрать бета-версию: поддержка UTF8 и запустить окна машины. Ниже приведены варианты, которые выглядят из моей машины Windows 7. Опция может быть почти такой же для Windows 10.

введите описание изображения здесь

В соответствии с OP все проблемы начались после применения определенного исправления ОС. Проблема была решена после снятия флажка «Бета: поддержка UTF8» . Проблема, кажется, 2 вещи.

  1. У OP уже есть бета-версия: поддержка UTF8 проверена и работает нормально, пока не применил исправление ОС, которое изменило «что-то».

  2. Проблема устранена после снятия флажка Beta: поддержка UTF8 из панели управления с уже установленным патчем ОС.

SQL Server работал нормально с поддержкой Beta: UTF8, но когда было применено исправление ОС, «что-то» сломалось таким образом, что главная база данных SQL Server не смогла подключиться к сети, сообщение о том, что кодовая страница 65001 не поддерживается. Отключение бета-версии: UTF8 из панели управления решил проблему. Хотя я полагаю, что это скорее обходной путь, и MS должна выпустить соответствующую статью для этого.

PS: я также нашел Connect Bug, уже поднятый для этой проблемы. Когда я говорю, что не поддерживается (для установки Enterprise Edition на клиентской ОС), это не означает, что вы не можете запустить эту инфраструктуру, это означает, что вы работаете сами по себе, если вы столкнулись с какой-то «ошибкой» или неожиданно произошел сбой. Если вы поднимете дело с MS по поводу любой такой проблемы, я уверен, что они укажут на это.

Shanky
источник
1
@Beginner и Shanky: я проверил этот файл ( C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx) в Notepad ++, и он показывает кодировку «UCS-2 LE BOM», которая на самом деле является UTF-16 LE, которая в Microsoft-land называется «Unicode». Не уверен, что ошибка в Windows или SQL Server, но, учитывая, что файл имеет метку порядка байтов (BOM), он не должен был пытаться прочитать его как UTF-8 независимо от кодировки системы по умолчанию. То есть, в конце концов, весь смысл иметь спецификации ;-) Файл даже начинается с: <?xml version="1.0" encoding="utf-16"?>.
Соломон Руцкий
1
Я установил версию для разработчиков (SQL Server 2014, должен проверить обратную совместимость), и там применимо то же самое. Ваше решение отлично сработало.
JGauffin
2
Проблема была решена после снятия флажка «Бета: поддержка UTF8». СПАСИБО @Shanky, я потратил два дня на эту проблему, и вы спасли мой день.
TechNovIT