У меня есть сервер разработки с запущенным на нем экземпляром SQL 2008 EXPRESS. Домен называется DEVAD, и для экземпляра включена общая память, именованные каналы и TCP / IP.
Моя рабочая станция находится в другом домене под названием AD.
У меня есть доверительные отношения между AD и DEVAD, и я могу подключиться к экземпляру DEVAD, используя свои учетные данные AD, через программы SSMS или .NET.
К сожалению, в тот момент, когда я подключаюсь к другой сети через VPN, используя учетные данные для другого домена, я получаю следующую ошибку: «Не удалось войти в систему. Вход из ненадежного домена и не может использоваться с проверкой подлинности Windows. (Microsoft SQL Server, Ошибка: 18452) ».
В моем VPN-подключении параметр «Использовать шлюз по умолчанию в удаленной сети» снят для IPv4 и IPv6.
Есть идеи, как предотвратить нарушение доверия VPN-соединением?
Обновление: у меня есть дополнительный VPN, к которому я иногда подключаюсь, и у меня нет проблем с подключением к SQL одновременно, когда он активен.
Я провел несколько тестов nslookup на хосте SQL с различными подключенными и не подключенными VPN. Моя проблемная VPN заканчивается тайм-аутом DNS, что может означать, что DNS в VPN неправильно настроен и сбивает запрос, вместо того, чтобы давать ответ несуществующего домена (как это делает другой мой VPN), и позволяя системе работать с запросом DNS, который знает об этом.
У меня тоже была такая же проблема, и я нашел решение здесь:
Вам нужно будет найти файл .pbk ваших VPN-подключений.
Вы можете найти это здесь:
C: \ Users \ {WindowsLogin} \ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk
Или, если вы настроили его так, чтобы все пользователи могли использовать соединение, вы можете найти его здесь:
C: \ ProgramData \ Microsoft \ Network \ Connections \ Pbk
Отредактируйте его в текстовом редакторе и найдите строку, в которой говорится:
UseRasCredentials=1
Отключите его, установив на 0
UseRasCredentials=0
Вы когда-нибудь понимали это? Думаю, я знаю, в чем твоя проблема.
Как вы пытаетесь подключиться к SQL Server? Вы используете приложение или SQL Server Management Studio? Если вы можете запустить программу из командной строки, возможно, вам повезет с помощью команды runas windows с параметром / netonly. Это позволяет вам войти в один домен, но запустить программу от имени другого пользователя домена. Как это:
runas / user: MYDOMAIN \ MYUSER / netonly "C: \ Program Files (x86) \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE \ Ssms.exe"
Замените домен, имя пользователя и путь к SQL Server Manamgent Studio соответствующими значениями.
Когда он запросит пароль, введите пароль для указанного пользователя домена. На этом этапе аутентификация пользователя не выполняется. Затем, когда вы откроете SSMS, подключитесь к соответствующей БД, как обычно, и если она не может подключиться с вашими обычными кредитами, она должна попытаться использовать те, которые вы ввели с помощью команды runas.