Использование команды 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