ПРОБЛЕМЫ, СВЯЗАННЫЕ С РАБОТОЙ ВСПОМОГАТЕЛЬНОЙ СЛУЖБЫ |
Ниже рассматриваются наиболее часто встречающиеся проблемы при установке и работе вспомогательной службы NAPServer (napsrv.exe), приводящие к необходимости изменить его конфигурацию или конфигурацию клиента.
Проблема |
Причина |
Решение |
Вспомогательная служба napsrv.exe не запускается. |
На сервере БД не поддерживается протокол, установленный при конфигурировании вспомогательной службы (по умолчанию TCP/IP), либо порт протокола уже используется (по умолчанию 1997). |
Необходимо изменить используемый протокол или порт (см. п. Настройка вспомогательной службы napsrv.exe). |
Нет связи между клиентом и вспомогательной службой NAPServer, при этом выдается сообщение: 'Napsrv: Server not respond' |
Вспомогательная служба NAPServer (napsrv.exe) не запущена. Настройки клиента не соответствуют настройкам вспомогательной службы. Используется протокол TCP/IP, а в конфигурации клиента указано сетевое имя выделенного сервера, однако разрешение имен (WINS) в сети не установлено. Возможно неверная настройка сети, используемого протокола и т.д., хотя казалось бы все настройки правильные. |
Запустить вспомогательную службу NAPServer.
Привести настройки клиента в соответствие с настройками вспомогательной службы NAPServer. В конфигурации клиента использовать IP адрес вместо сетевого имени.
Попытаться использовать другой протокол. |
При запуске системы выдается сообщение 'Невозможно присоединиться к серверу БД'. При этом в ms70drv.log выдается сообщение '[NAPSrv]: Invalid user' |
Выполнено изменение пароля пользователя sa средствами MS SQL Server |
Задать новый пароль пользователя sa средствами менеджера серверов и служб Галактики galconf.exe (функция [ ]). |
Кроме этого в лог-файл ms70drv.log драйвера (ms70drv.dll) могут выводиться следующие сообщения об ошибках:
Сервер приложений не отвечает. За этим сообщением часто следует детализация ошибки RPC:
Версии вспомогательной службы (napsrv.exe) и драйвера (ms70drv.dll) не соответствуют друг другу.
Неверно заданы параметры подсоединения к вспомогательной службе или он отсутствует на сервере.
В функцию вспомогательной службы передан идентификатор неизвестного ему пользователя.
Вспомогательная служба не смогла выполнить команду на MS SQL Server. Детализация ошибки пишется в application event log на сервере БД.
Клиент не смог получить доступ к вспомогательной службе из-за того, что она занята обработкой вызова от другого клиента. Время ожидания 30 сек.
Внешняя хранимая процедура, вызванная из триггера не смогла вызвать функцию вспомогательной службы. Детализация некоторых ошибок пишется в файл namssql.log, который создается на сервере БД.
На сервере БД в application event log могут выводиться следующие сообщения:
ОС уведомила, что потеряно соединение с клиентом для данного пользователя вспомогательной службы. Все ресурсы пользователя во вспомогательной службе принудительно освобождаются.
В результате проверки обнаружен пользователь вспомогательной службы, для которого нет сессии в MS SQL Server и о потере соединения с которым не было уведомления от ОС. Все ресурсы пользователя во вспомогательной службе принудительно освобождаются.
Если в лог-файл драйвера выводится сообщение
то в application event log будет выведено 2 сообщения:
При выключенном разграничении прав доступа невозможно создать alias для логина <login>. Если это произошло по причине существования такого alias в БД, то причина невозможности подсоединения заключается в несоответствии системной таблицы БД sysusers системной таблице syslogins. В этом случае необходимо пересоздание учетных записей.
Следует обратить внимание на ошибку настройки функционирования системы на MS SQL Server, когда ODBC SOURCE указан для одного сервера БД, а настройки вспомогательной службы для другого. В этом случае возможно подсоединение, но приложение работает некорректно. При этом поведение приложения и выдаваемые ошибки непредсказуемы.
Примечание. После изменения настроек вспомогательной службы Галактики NAPServer, ее необходимо перегрузить. Далее необходимо привести настройки клиентов в соответствие с новыми настройками вспомогательной службы.
Перед перезагрузкой вспомогательной службы NAPServer после нормальной работы
или после устранения сбойной ситуации, всегда необходимо в базе master выполнить команды SQLexec na_forcefreealldb
dbcc namssql(free),
используя утилиту
(или MS SQL Server Management Studio для MS SQL Server 2005/2008).Кроме ms70drv.log сообщения вспомогательной службы выводятся в Application Event Log Windows. Файл napsrv2.log, начиная с обновления Атлантис 5.4.21, не используется.