Как устранить ошибку «Отсутствует Microsoft SQL Server Native Client» в 1С?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как устранить ошибку «Отсутствует Microsoft SQL Server Native Client» в 1С?

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38848
      Фото аватараOdineski
      Участник

        Ошибка при получении значения из базы данных. Возможной причиной является отсутствие установленного Microsoft SQL Server Native Client.

      • #38849
        bot_avaOdin — Одинэсник
        Участник

          Ошибка означает, что на сервере 1С не установлен драйвер Microsoft SQL Server Native Client, необходимый для подключения к SQL Server.

          Чаще всего ошибка появляется в схеме:

          — сервер 1С находится на одном компьютере;
          — Microsoft SQL Server находится на другом компьютере;
          — новую информационную базу создают через консоль администрирования 1С.

          ## Что сделать

          ### 1. Определите компьютер, куда устанавливать Native Client

          Устанавливать компонент нужно на сервер 1С, а не только на сервер SQL Server.

          Если используется кластер 1С из нескольких рабочих серверов, Native Client нужно установить на каждый сервер, который может обращаться к SQL-базе.

          Проверить сервер 1С можно в свойствах информационной базы или в консоли администрирования:

          Установка только на компьютер пользователя, где запущена консоль, обычно проблему не решает.

          —

          ### 2. Установите Microsoft SQL Server Native Client

          Обычно нужен файл:

          Он может находиться:

          — в установочном дистрибутиве Microsoft SQL Server;
          — в каталоге установочного носителя SQL Server;
          — в пакете дополнительных компонентов SQL Server;
          — в ранее скачанном дистрибутиве SQL Server.

          Для старых версий платформы 1С чаще всего устанавливают:

          При установке желательно выбрать не только основные компоненты, но и пакет SDK, если он присутствует в установщике.

          После установки в списке установленных программ должна появиться запись примерно такого вида:

          —

          ### 3. Учитывайте разрядность

          Проверьте разрядность сервера 1С:

          — для 64-разрядного сервера 1С установите 64-разрядный Native Client;
          — для 32-разрядного сервера 1С установите 32-разрядный Native Client;
          — в некоторых конфигурациях безопаснее установить оба варианта, если они доступны.

          Особенно это важно, если сервер 1С работает как 32-разрядное приложение на 64-разрядной Windows.

          —

          ### 4. Перезапустите службы 1С

          После установки драйвера перезапустите службу сервера 1С:

          1. Откройте services.msc.
          2. Найдите службу вида:

          3. Перезапустите службу.

          Если используется кластер серверов 1С, перезапустите службы на всех серверах кластера.

          После этого снова выполните создание или подключение информационной базы.

          —

          ## Что проверить, если ошибка осталась

          ### Доступность SQL Server

          На сервере 1С проверьте:

          — доступен ли SQL Server по имени;
          — разрешено ли удаленное подключение;
          — запущена ли служба SQL Server;
          — открыт ли порт SQL Server, обычно TCP 1433;
          — запущена ли служба SQL Server Browser, если используется именованный экземпляр;
          — разрешен ли трафик в Windows Firewall.

          Например, если используется экземпляр:

          либо:

          нужно убедиться, что именно этот экземпляр доступен с сервера 1С.

          —

          ### Учетная запись службы 1С

          Служба сервера 1С должна иметь возможность подключаться к SQL Server.

          Если используется Windows-аутентификация, учетной записи службы 1С необходимо выдать права на SQL Server и на нужную базу.

          Если используется SQL-аутентификация, проверьте:

          — имя пользователя;
          — пароль;
          — разрешен ли режим SQL Server и Windows-аутентификации;
          — не заблокирован ли SQL-пользователь;
          — существуют ли права на создание базы или подключение к ней.

          —

          ### Версию платформы 1С

          В старых версиях 1С ошибка напрямую связана с отсутствием именно SQL Server Native Client.

          В новых версиях SQL Server Native Client считается устаревшим компонентом. Если используется современная платформа 1С, рекомендуется:

          — обновить платформу 1С до актуального релиза, совместимого с конфигурацией;
          — использовать рекомендованный для этой версии 1С драйвер подключения;
          — не устанавливать случайные версии Native Client без проверки совместимости.

          Но если конкретная версия 1С явно выдает сообщение про:

          первым практическим действием остается установка соответствующего Native Client на сервер 1С.

          —

          ## Важный момент

          Не путайте два разных случая:

          ### Ошибка при создании информационной базы

          Тогда обычно достаточно:

          1. установить sqlncli.msi на сервер 1С;
          2. перезапустить службы 1С;
          3. повторить создание базы.

          ### Ошибка при выполнении отчета или запроса

          Если в тексте есть дополнительно:

          или:

          то проблема уже может быть не в отсутствии драйвера, а в операциях над датами, например вычитании секунд из минимальной даты. В таком случае нужно отдельно проверять запрос, СКД и значения дат.

          Рекомендую посмотреть здесь:

          Ошибка отсутствие установленного MS SQL server Native Client

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С