Возникала проблема коннекта на SQL Server в местном домене в тот время когда поднят VPN для выхода во внешнюю сетку. Проблема в том, что если UserId во внутреннем домене и в VPN разные, то для логин на ресурсы локального домена всё равно используются credentials VPN - он их подставляет. Обнаружены ряд способов преодоления проблемы:
- Использовать команду RunAS с параметрами
/savecred /user:<userId>@<localDomain> /env
При первом запуске спрашивается пароль и при этом создается запись в Windows Credential Manager. Формат <userId>@<localDomain> обеспечивает, как ни странно перманентное хранение credentials, тогда как более общий формат
<localDomain>\<userId> хранит их только до reboot. - Создать запись в Credential Manager вручную, указав адрес куда надо заходить под местным юзером. Особенно это актуально для Windows 8 где из-за повышенной security с командой RunAs не всё проходит так гладко.
Пробовал создать credentials вручную и раньше для логин на локальный SQL Server, но не получалось. Оказалось, что для успешного его использования надо указывать строку коннекта более полно, т.е. включить и connection port. Например, для коннекта к локальному серверу Aptafund в BTG:
Address: aptafund.btg.lv:1433
Username: <userId>@<localDomain>
Pasword:
Опять важно, чтоб имя юзера было в таком формате и по той же причине: иначе после при перегрузке эта запись в Credential Manager удаляется.
No comments:
Post a Comment