Подключение различных пользователей Windows в SQL Server Management Studio (2005 или более поздней версии)
Есть ли способ в SQL Server Management Studio 2005 (или более поздней версии) изменить пользователя Windows Authentication (как вы могли бы в SQL Server 2000 и старше)?
Это общий диалог свойств соединения (обратите внимание на greyed out UID/PWD при выборе Windows Auth):
![dialog]()
FYI. Один из способов - использовать runas
, но я ищу решение, которое позволит мне работать с несколькими учетными записями Windows на нескольких серверах (и между несколькими доменами).
Ответы
Ответ 1
Пока нет возможности подключиться к нескольким серверам как разные пользователи в одном экземпляре SSMS, то, что вы ищете, это следующий синтаксис RUNAS:
runas /netonly /user:domain\username program.exe
Когда вы используете переключатель "/netonly", вы можете войти в систему, используя удаленные учетные данные в домене, членом которого вы сейчас не являетесь, даже если нет доверия. Он просто сообщает runas, что учетные данные будут использоваться для доступа к удаленным ресурсам - приложение взаимодействует с локальным компьютером в качестве текущего пользователя, входящего в систему, и взаимодействует с удаленными компьютерами как пользователь, чьи учетные данные вы указали.
Вам все равно придется запускать несколько экземпляров SSMS, но по крайней мере вы можете подключаться к ним как к различным пользователям Windows.
Например: runas /netonly /user:domain\username ssms.exe
Ответ 2
Удерживайте shift и щелкните правой кнопкой мыши значок SQL Server Mangement. Вы можете запустить как другой пользователь учетной записи Windows.
Ответ 3
Другим способом, который я обнаружил, является переход к "Пуск" > "Панель управления" > "Сохраненные имена пользователей и пароли" ( "Администрирование" > "Диспетчер учетных данных" в Windows 7) и добавьте учетную запись домена, которую вы будете использовать с помощью "runas".
Затем в SQL Management Studio 2005 просто выберите "Аутентификация Windows" и введите сервер, к которому вы хотите подключиться (даже если пользователь, которого вы видите greyed out, по-прежнему является локальным пользователем)... и он работает!
Не спрашивайте меня, почему!:)
Изменить:
Обязательно включите ": 1433" после имени сервера в диспетчере учетных данных или он может не подключиться из-за того, что он не доверяет домену.
Ответ 4
Команда runas /netonly /user:domain\username program.exe
работала только для меня на Windows 10
- сохранение его в виде пакетного файла
- запуск его как администратора,
при запуске пакета команд в качестве обычного пользователя я получил неправильную проблему с паролем, упомянутую некоторыми пользователями в предыдущих комментариях.
Ответ 5
Ни один из этих ответов не дал того, что мне было нужно: войти на удаленный сервер, используя учетную запись домена, отличную от той, на которой я вошел на локальный компьютер, и это клиентский домен через vpn. Я не хочу быть в их домене!
Вместо этого в диалоговом окне подключения к серверу выберите "Проверка подлинности Windows", нажмите кнопку "Параметры", а затем на вкладке "Дополнительные параметры подключения" введите
user id=domain\user;password=password
SSMS не запомнит, но подключится к этой учетной записи.
Ответ 6
Немного волшебства powershell сделают трюк:
cmdkey /add:"SERVER:1433" /user:"DOMAIN\USERNAME" /pass:"PASSWORD"
Затем просто выберите проверку подлинности Windows
Ответ 7
Есть много мест, где кто-то может захотеть развернуть этот сценарий, но из-за того, что работает интегрированная проверка подлинности, это невозможно.
Как упоминалось в gbn, встроенная проверка подлинности использует специальный токен, соответствующий вашему идентификатору Windows. Существуют методы кодирования, называемые "олицетворения" (вероятно, используемые командой "Выполнить как..." ), которые позволяют эффективно выполнять активность в качестве другого пользователя Windows, но на самом деле нет способа произвольно действовать как другой пользователь (а-ля Linux) в приложениях Windows, кроме этого.
Если вам действительно необходимо администрировать несколько серверов на нескольких доменах, вы можете рассмотреть одно из следующих:
- Настройте Домен доверия между вашими доменами, чтобы ваша учетная запись могла обращаться к компьютерам в доверяющем домене
- Настройте пользователя SQL (используя смешанную проверку подлинности) на всех серверах, которые необходимо администрировать, чтобы вы могли войти в систему таким образом; очевидно, это может привести к некоторым проблемам безопасности и создать кошмар обслуживания, если вам придется в любой момент изменить все пароли.
Надеюсь, это поможет!
Ответ 8
Нет.
Можете ли вы работать с корпоративным менеджером SQL Server 2000? Я не помню, поскольку Windows auth использует текущего зарегистрированного пользователя, потому что он полагается на токен входа NT, сгенерированный во время входа в систему.
Единственный способ в "Запустить как".
У вас нет доверия между доменами?
Ответ 9
Ответ, который работал для меня:
cmdkey/add:"SERVER:1433"/user:"DOMAIN\USERNAME"/pass:"PASSWORD"
Затем просто выберите проверку подлинности Windows
Ответ 10
Для Windows 10: перейдите к значку Sql Management Studio или ярлыку в меню: щелкните правой кнопкой мыши> выберите "Открыть местоположение файла".
![enter image description here]()
Удерживайте Shift и щелкните правой кнопкой мыши ярлык или файл ssms.exe, который находится в папке. Удержание смены даст вам дополнительную опцию "Запуск от имени другого пользователя":
![enter image description here]()
Появится окно входа в систему, и вы сможете ввести учетные данные, под которыми вы хотите запустить сеанс.
Ответ 11
Единственный способ добиться того, что вы хотите, - это открыть несколько экземпляров SSMS, щелкнув правой кнопкой мыши на ярлыке и используя функцию "Run-as".