Ошибки · Решение
SQL Server ошибка 4017: что означает и как исправить
SQL Server не смог использовать ни запрошенный язык, ни default language пользователя и выбрал server-wide default.
Короткий ответ
SQL Server 4017: невалидны и язык из login, и user default language; сервер вынужден использовать свой общий default. Исправьте обе настройки, иначе формат дат/сообщений будет непредсказуем для приложения.
Что означает ошибка
SQL Server не смог использовать ни запрошенный язык, ни default language пользователя и выбрал server-wide default.
Возможные причины
- У login сохранён default language, который больше не существует на экземпляре.
- Клиент одновременно присылает другое недопустимое имя языка.
- Миграция logins перенесла идентификатор/настройку языка некорректно.
Что проверить
- Проверьте default language login-а и список sys.syslanguages.
- Снимите значение, которое реально присылает клиент.
- Сравните настройки login до и после миграции/restore master.
Безопасные шаги
- Назначьте login-у существующий default language.
- Исправьте или уберите неверный language override приложения.
- После правки переподключитесь и проверьте SET LANGUAGE/DATEFORMAT.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если 4017 затрагивает много logins после миграции, отдайте DBA список affected logins для массовой проверки default language.
Похожие ошибки
- /errors/sql-server-error-4001/
- /errors/sql-server-error-4002/
- /errors/sql-server-error-4004/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.