Подключите другого пользователя Windows в SQL Server Management Studio (2005 или более поздней версии)
Есть ли способ в SQL Server Management Studio 2005 (или более поздней версии) изменить пользователя проверки подлинности Windows (как это можно сделать в SQL Server 2000 и более ранних версиях)?
Это общее диалоговое окно свойств соединения (обратите внимание на серый UID/PWD при выборе Windows Auth):
К вашему сведению - один из обходных путей заключается в использовании runas
но я ищу решение, которое позволит мне работать с несколькими учетными записями Windows на нескольких серверах (и в нескольких доменах).
11 ответов
Хотя невозможно подключиться к нескольким серверам в качестве разных пользователей в одном экземпляре SSMS, вам необходим следующий синтаксис RUNAS:
runas /netonly /user:domain\username program.exe
При использовании параметра "/netonly" вы можете войти в систему с использованием удаленных учетных данных в домене, членом которого вы в данный момент не являетесь, даже если доверие не настроено. Он просто сообщает runas, что учетные данные будут использоваться для доступа к удаленным ресурсам - приложение взаимодействует с локальным компьютером в качестве текущего пользователя, вошедшего в систему, и взаимодействует с удаленными компьютерами как пользователь, чьи учетные данные вы указали.
Вам все равно придется запускать несколько экземпляров SSMS, но, по крайней мере, вы можете подключаться как разные пользователи Windows в каждом.
Например:
runas /netonly /user:domain\username ssms.exe
Удерживая клавишу Shift, щелкните правой кнопкой мыши значок изучения SQL Server Mangement. Вы можете запустить как другой пользователь учетной записи Windows.
Еще один способ, который я обнаружил, - это перейти в "Пуск" > "Панель управления" > "Сохраненные имена пользователей и пароли" (Администрирование> Диспетчер учетных данных в Windows 7) и добавить учетную запись домена, которую вы будете использовать с командой "runas".,
Затем в SQL Management Studio 2005 просто выберите "Аутентификация Windows" и введите сервер, к которому вы хотите подключиться (даже если пользователь, которого вы видите серым, все еще является локальным пользователем)... и это работает!
Не спрашивай меня почему!:)
Изменить. Обязательно укажите ":1433" после имени сервера в диспетчере учетных данных, иначе он может не подключиться из-за недоверия домену.
Ни один из этих ответов не дал того, что мне было нужно: войти на удаленный сервер, используя учетную запись домена, отличную от той, на которой я вошел на локальный компьютер, и это домен клиента через vpn. Я не хочу быть в их домене!
Вместо этого в диалоговом окне подключения к серверу выберите "Аутентификация Windows", нажмите кнопку "Параметры", а затем на вкладке "Дополнительные параметры подключения" введите "идентификатор пользователя = домен \ пользователь; пароль = пароль" без кавычек.
SSMS не запомнит, но подключится к этой учетной записи.
runas /netonly /user:domain\username program.exe
команда работала только на меня Windows 10
- сохранить его как командный файл
- запустить его от имени администратора,
при запуске пакета команд как обычного пользователя у меня возникла проблема с неправильным паролем, о которой некоторые пользователи упоминали в предыдущих комментариях
Для Windows 10: перейдите к значку Sql Management Studio или ярлыку в меню: щелкните правой кнопкой мыши> выберите расположение открытого файла
Удерживая Shift, щелкните правой кнопкой мыши ярлык или файл ssms.exe, находящийся в папке. Удерживая shift, вы получите дополнительную опцию "Запуск от имени другого пользователя":
Появится всплывающее окно входа в систему, и вы сможете ввести учетные данные, под которыми вы хотите запустить сеанс.
Немного магии PowerShell сделает свое дело:
cmdkey /add:"SERVER:1433" /user:"DOMAIN\USERNAME" /pass:"PASSWORD"
Затем просто выберите проверку подлинности Windows
Есть много мест, где кто-то может захотеть развернуть такой сценарий, но из-за того, как работает интегрированная аутентификация, это невозможно.
Как уже упоминалось, встроенная аутентификация использует специальный токен, который соответствует вашей личности Windows. Существуют методы кодирования, называемые "олицетворением" (вероятно, используемые командой "Запуск от имени..."), которые позволяют эффективно выполнять действия в качестве другого пользователя Windows, но на самом деле не существует способа произвольно действовать как другой пользователь (например, Linux) в приложениях Windows, кроме этого.
Если вам действительно нужно администрировать несколько серверов в нескольких доменах, вы можете рассмотреть один из следующих:
- Настройте доверие домена между доменами, чтобы ваша учетная запись имела доступ к компьютерам в доверенном домене.
- Сконфигурируйте пользователя SQL (используя смешанную аутентификацию) на всех серверах, которые необходимо администрировать, чтобы вы могли войти таким образом; очевидно, это может создать некоторые проблемы с безопасностью и создать кошмар обслуживания, если вам придется изменить все пароли в какой-то момент.
Надеюсь, это поможет!
Кто-нибудь пробовал "простые" руны без параметров? Все эти / netonly / savcecred звучат неоднозначно и для меня полнейшая чушь.
C:\Windows\System32\runas.exe /user:DOMAINX\OtherUser02 "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\ssms.exe"
Это прекрасно работает. Несмотря ни на что, runas БУДЕТ запрашивать у вас пароль пользователя. Просто введите его и соблюдайте требования аудита безопасности.
Нет.
Не могли бы вы в SQL Server 2000 корпоративный менеджер? Я не помню, потому что аутентификация Windows использует текущего вошедшего в систему пользователя, потому что она использует маркер входа NT, сгенерированный во время входа в систему.
Единственный способ в "Run As".
У вас нет доверия между доменами?
Единственный способ достичь желаемого - открыть несколько экземпляров SSMS, щелкнув правой кнопкой мыши по ярлыку и используя функцию "Запуск от имени".