Использование команды runas для удаленного входа в SQL Server
Я застрял в этой точке, используя команду runas. Я пытаюсь войти в удаленный экземпляр SQL Server, используя проверку подлинности Windows на этом сервере. Я использую эту команду -
runas /netonly /user:DomainUsername
/server=someIP "C:Program Files (x86)Microsoft SQL Server0ToolsBinnVSShellCommon7IDESsms.exe"
но когда я это делаю, он открывает мою студию управления - IP-адрес удаленного сервера, проверка подлинности Windows выбрана по умолчанию, и у меня есть домен и имя пользователя моей текущей системы.
Мне действительно нужен способ указать строку подключения для входа в удаленный SQL Запросы сервера и огня на нем. Это междоменное.
еще один вопрос-нужно ли мне иметь Management Studio на машине, с которой я запускаю запрос?
спасибо.
редактировать
я перефразирую для лучшего понимания.
У меня есть сервер A и сервер B(два отдельных компьютера). Мне нужно запустить запрос из A на B. A не имеет sql server или Management studio. Б обоих. Я должен использовать windows аутентификация (что-то вроде myDomainusername) для входа в sql server B. Я использую команду runas, которую я упомянул в "Target" в свойствах management studio на B. Это неправильно? Я вхожу в систему, используя другое имя пользователя (но тот же домен), что и я должен войти в B. Как мне выполнить эту задачу?
спасибо и извините за позднее редактирование.
4 ответов
Я использую следующее в ярлыке для запуска SSMS на образе xp, который не находится в домене для подключения к серверу с использованием учетных данных домена.
%windir%\System32\runas.exe /netonly /user:domain\username "C:\Program Files\Microsoft SQL Server0\Tools\Binn\VSShell\Common7\IDE\Ssms.exe -S SERVERNAME"
это правильно, /netonly откроет вашу текущую среду, и SSMS будет глупо отображать ваши учетные данные в диалогах входа в систему. Это следует ожидать, так как /netonly действительно означает, что предоставленный идентификатор будет использоваться только в сети. Однако при аутентификации с любым удаленным ресурсом удаленный сайт будет аутентифицировать вас как "домен\имя пользователя".
вам, вероятно, не нужен параметр /server.
Шаг 1: перейдите к ssms.exe файл
SSMS 2016 Версия:
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe
SSMS 2017 Версия:
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe
щелкните правой кнопкой мыши on среда SSMS.exe и выберите свойства
тут tab совместимость
и нажмите на кнопку изменить параметры для всех пользователи
Регистрация выполнять эту программу от имени администратора и нажмите OK
Шаг 2: сделайте ярлык с этим путем
SSMS 2016 Версия: C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe\""
SSMS 2017 Версия: C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe\""
Примечание:cmd / c в пути, это делает всю разницу.
вот и все. Надеюсь, это сработает вы.
PS: о первом шаге, если вы хотите внести изменения, чтобы запустить программу в качестве администратора для конкретного пользователя, войдите в систему как этот пользователь на компьютере и делать то же самое без изменить параметры для всех пользователей
в случае, если соединение с использованием name-pipe недоступно, (i.e вы не можете подключиться с помощью ИМЯ_СЕРВЕРА), то вы можете использовать IP-адрес, для e.g:
%windir%\System32\runas.exe /netonly /user:domain\username "Ssms.exe -S 10.20.30.10"
путь SSMS.exe
зависит от версии SQL engine:
- 2008 R2:
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
- 2012 :
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe
- 2014 :
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe
- 2016 :
C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe