13

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

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

但是当我这样做时,它会打开我的 Management Studio - IP 是远程服务器的 IP,默认情况下选择 Windows 身份验证,并且我有我当前系统的域和用户名。

我实际上需要一种方法来指定连接字符串以登录到远程 SQL Server 并在其上触发查询。是跨域。

还有一个问题 - 我是否需要在触发查询的机器上安装 Management Studio?

谢谢。

编辑

为了更好地理解,我正在改写。

我有服务器 A 和服务器 B(两台独立的计算机)。我需要在 B 上从 A 发起查询。A 没有任何 sql 服务器或管理工作室。B 两者都有。我必须使用 Windows 身份验证(类似于 myDomain\username)登录到 B 的 sql server。我正在使用我在 B 上管理工作室属性中的“目标”中提到的 runas 命令。这是错的吗?我使用不同的用户名(但域相同)登录 A,因为我必须登录 B。如何完成此任务?

感谢和抱歉迟到的编辑。

4

5 回答 5

24

我在快捷方式上使用以下命令在不在域上的 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"
于 2012-11-09T16:52:04.767 回答
7

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

您可能不需要 /server 选项。

于 2012-11-09T16:52:36.413 回答
1

我无法发表评论,所以我会给出新的答案。使用带有服务器名称的快捷方式

%windir%\System32\runas.exe /netonly /user:domain\username "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe -S SERVERNAME"

您首先需要将服务器名称和服务器 IP 添加到您的主机文件中:

C:\Windows\System32\drivers\etc\hosts

没有它你需要使用服务器IP:

%windir%\System32\runas.exe /netonly /user:domain\username "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe -S SERVER_IP"

例如,您想使用帐户名 STACKUSER2019 在域 MASTER 中使用名称 MSSQLSERVER01 连接到服务器 10.10.10.123。因此,您将此行添加到主机文件:

10.10.10.123 MSSQLSERVER01

在它从 CMD 或快捷方式运行之后:

%windir%\System32\runas.exe /netonly /user:MASTER\STACKUSER2019 "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe -S MSSQLSERVER01"
于 2019-08-27T10:19:54.093 回答
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:关于第一步,如果您只想更改以管理员身份为特定用户启动应用程序,请在计算机上以该用户身份登录,并在没有更改所有用户设置的情况下执行与步骤相同的操作

于 2017-05-16T09:15:24.293 回答
0

如果无法使用名称管道进行连接(即无法使用 SERVERNAME 进行连接),则可以使用 IP 地址,例如:

%windir%\System32\runas.exe /netonly /user:domain\username "Ssms.exe -S 10.20.30.10"

路径SSMS.exe取决于您的 SQL 引擎版本:

  • 2008 R2:C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
  • 2012 年:C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe
  • 2014 年:C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Ssms.exe
  • 2016 年:C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe
于 2018-07-24T23:15:56.140 回答