2012-11-09 39 views
9

我被卡住在这一点上使用runas命令。我正尝试在该服务器上使用Windows身份验证登录到远程SQL Server实例。我使用这个命令 -使用runas命令远程登录到SQL Server

runas /netonly /user:Domain\Username 
     /server=someIP "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" 

但是当我这样做,它打开了我的管理工作室 - 的IP是远程服务器中,Windows身份验证默认情况下选中,我有我的当前系统的域和用户名。

我实际上需要一种方法来指定连接字符串来登录到远程SQL Server并对其进行查询。它是跨域的。

还有一个问题 - 我需要在机器上安装Management Studio吗?

谢谢。

编辑

我改写为更好的理解。

我有服务器A和服务器B(两台独立的计算机)。我需要在B上从A开始查询。A没有任何SQL Server或管理工作室。 B有两个。我必须使用windows身份验证(类似于myDomain \ username)登录到B的sql服务器。我正在使用runas命令,我在管理工作室的属性中的“目标”中提到了B.是否有错? 我使用与登录B不同的用户名(但是具有相同的域名)登录到A中。 如何完成此任务?

感谢和抱歉的编辑。

+0

你是否试图以这种方式运行SSMS? – mmcrae

+0

是的,我们是。为什么? –

回答

14

我使用以下快捷方式在不在域上的xp映像上运行SSMS,以使用域凭据连接到服务器。

%windir%\System32\runas.exe /netonly /user:domain\username "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe -S SERVERNAME" 
+2

请注意,您仍然会在SSMS连接对话框中看到您当前的域/用户,但它将使用提供的/ user。 –

6

这是正确的,/ netonly将打开您当前的环境,并且SSMS将在登录对话框中愚蠢地显示您的凭据。这是可以预料的,因为/ netonly确实意味着所提供的身份将仅在网络上使用。但是,当您使用任何远程资源进行身份验证时,远程站点将以“域\用户名”身份验证您的身份。

您可能不需要/ server选项。

+0

我想我明白你在说什么。那么如何编写连接字符串呢? –

+0

只需在连接对话框中选择远程服务器即可。 –

+0

并选择“Windows身份验证”。没有比这更多的东西了。还要注意,如果你有本地服务器,在localhost上运行,它不会使用netonly凭证,而是使用本地服务器。使它非常方便,在我看来:) – cairnz

0

第1步:导航到ssms.exe文件

SSMS 2016版本:

C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe 

SSMS 2017年版:

C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe 

右击ssms。EXE并选择属性

那么标签兼容性

,并点击按钮更改设置为所有用户

检查运行该程序的管理员并点击确定

步骤2:建立一个快捷方式与该路径

SSMS 2016版本:C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe\""

SSMS 2017版本:C:\Windows\System32\runas.exe /savecred /user:domain\username "cmd /c \"C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe\""

注:CMD/C在路径中,这使得整个区别。

就是这样。希望它能为你工作。

PS:关于步骤一,如果你只是想进行更改,启动应用程序作为管理员为特定的用户,登录的计算机上的用户和做同样的,不会对更改设置的步骤所有用户