n1ro°
RU

Ошибки · Решение

SQL Server ошибка 4017: что означает и как исправить

SQL Server не смог использовать ни запрошенный язык, ни default language пользователя и выбрал server-wide default.

Редакция N1RO · Проверено

Короткий ответ

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.

Безопасные шаги

  1. Назначьте login-у существующий default language.
  2. Исправьте или уберите неверный language override приложения.
  3. После правки переподключитесь и проверьте 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 не диагностировала ваш конкретный случай.