Я пытаюсь подключиться к удаленной базе данных SQL Server 2005 из службы Windows .NET, работающей в Vista Home Premium x64. Я могу получить доступ к удаленной БД из консольного приложения без проблем. Я могу подключиться к локальной базе данных из службы Windows без проблем. Я смог подключиться из службы из XP без проблем. Там нет брандмауэра или антивирус работает. Как мне настроить этот сервис для подключения к удаленной базе данных?
Я попытался подключиться, запустив службу Windows в качестве учетной записи локального администратора, LocalSystem, LocalService и NetworkService.
Строка подключения:
Источник данных = SERVER_NAME; Начальный каталог = DB_NAME; Интегрированная безопасность = True;
Ошибка:
Произошла ошибка сети или экземпляра при установлении соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server)
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Я также попытался подключиться с использованием аутентификации SQL Server, но безуспешно:
Источник данных = SERVER_NAME; ID пользователя = USER_ID; Пароль = PWD; Начальный каталог = DB_NAME
Эта строка подключения работает и из консольного приложения.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Я запустил Process Monitor для службы Windows и консольного приложения. Служба Windows показала, что \ SERVER_NAME \ pipe \ sql \ query - ACCESS DENIED, но консольное приложение показало SUCCESS при чтении / записи файлов в \ SERVER_NAME \ pipe \ sql \ query.