ПРОБЛЕМЫ, СВЯЗАННЫЕ С РАБОТОЙ ВСПОМОГАТЕЛЬНОЙ СЛУЖБЫ Назад В начало Вперед

Ниже рассматриваются наиболее часто встречающиеся проблемы при установке и работе вспомогательной службы 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) могут выводиться следующие сообщения об ошибках:

[NAPSrv]: NAPSrv Server not respond

Сервер приложений не отвечает. За этим сообщением часто следует детализация ошибки RPC:

[RPC Error] Code: 1717. The interface is unknown.

Версии вспомогательной службы (napsrv.exe) и драйвера (ms70drv.dll) не соответствуют друг другу.

[RPC Error] Code: 1722. The RPC server is unavailable.

Неверно заданы параметры подсоединения к вспомогательной службе или он отсутствует на сервере.

[NAPSrv]: Invalid user

В функцию вспомогательной службы передан идентификатор неизвестного ему пользователя.

[NAPSrv]: Error call to SQL server. See details in application event log on MSSQL server

Вспомогательная служба не смогла выполнить команду на MS SQL Server. Детализация ошибки пишется в application event log на сервере БД.

[NAPSrv]: Reentry timeout

Клиент не смог получить доступ к вспомогательной службе из-за того, что она занята обработкой вызова от другого клиента. Время ожидания 30 сек.

42000: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot call napsrv.exe

Внешняя хранимая процедура, вызванная из триггера не смогла вызвать функцию вспомогательной службы. Детализация некоторых ошибок пишется в файл namssql.log, который создается на сервере БД.

На сервере БД в application event log могут выводиться следующие сообщения:

NAPServer => Error code (64); User lost! или User Context = <user_context>, SPID = <spid>, Login = <login>, DBName = <db_name> lost!

ОС уведомила, что потеряно соединение с клиентом для данного пользователя вспомогательной службы. Все ресурсы пользователя во вспомогательной службе принудительно освобождаются.

NAPServer => Error code (64); Found died user Context = <user_context>, SPID = <spid>, Login = <login>, DBName = <db_name>

В результате проверки обнаружен пользователь вспомогательной службы, для которого нет сессии в MS SQL Server и о потере соединения с которым не было уведомления от ОС. Все ресурсы пользователя во вспомогательной службе принудительно освобождаются.

Если в лог-файл драйвера выводится сообщение

[NAPSrv]: Error call to SQL server. See details in application event log on MSSQL server.

то в application event log будет выведено 2 сообщения:

NAPServer => ErrorCode (183); exec sp_addalias <login>,dbo;

NAPServer => ErrorCode (997); VerifyLogin7

При выключенном разграничении прав доступа невозможно создать alias для логина <login>. Если это произошло по причине существования такого alias в БД, то причина невозможности подсоединения заключается в несоответствии системной таблицы БД sysusers системной таблице syslogins. В этом случае необходимо пересоздание учетных записей.

Следует обратить внимание на ошибку настройки функционирования системы на MS SQL Server, когда ODBC SOURCE указан для одного сервера БД, а настройки вспомогательной службы для другого. В этом случае возможно подсоединение, но приложение работает некорректно. При этом поведение приложения и выдаваемые ошибки непредсказуемы.

Примечание. После изменения настроек вспомогательной службы Галактики NAPServer, ее необходимо перегрузить. Далее необходимо привести настройки клиентов в соответствие с новыми настройками вспомогательной службы.

Перед перезагрузкой вспомогательной службы NAPServer после нормальной работы Галактики ERP или после устранения сбойной ситуации, всегда необходимо в базе master выполнить команды SQL

exec na_forcefreealldb

dbcc namssql(free),

используя утилиту Query Analyzer (или MS SQL Server Management Studio для MS SQL Server 2005/2008).

Кроме ms70drv.log сообщения вспомогательной службы выводятся в Application Event Log Windows. Файл napsrv2.log, начиная с обновления Атлантис 5.4.21, не используется.