在SQL Server Management Studio中连接不同的Windows用户(2005年或更高版本)

在SQL Server Management Studio 2005(或更高版本)中是否有一种方法可以更改Windows身份验证用户(就像在SQL Server 2000或更早版本中一样)?

这是一般连接属性对话框(注意,当选择Windows Auth时,灰色的UID/PWD):

dialog

供参考-一个解决办法是使用runas,但我正在寻找一个解决方案,将允许我跨多个服务器(和跨多个域)使用多个Windows帐户。

336927 次浏览

人们可能希望在许多地方部署这种场景,但由于集成身份验证的工作方式,这是不可能的。

正如gbn所提到的,集成身份验证使用一个与您的Windows身份对应的特殊令牌。有一种编码实践叫做“模拟”(可能被Run As…命令),它允许你作为另一个Windows用户有效地执行一个活动,但在Windows应用程序中,实际上没有一种方法可以任意地作为一个不同的用户(à la Linux)。

如果您确实需要跨多个域管理多个服务器,您可以考虑以下方法之一:

  1. 在您的域之间设置域的信任,以便您的帐户可以访问信任域中的计算机
  2. 在您需要管理的所有服务器上配置一个SQL用户(使用混合身份验证),以便您可以以这种方式登录;显然,这可能会引入一些安全问题,如果您必须在某个时刻更改所有密码,则可能会造成维护噩梦。

希望这能有所帮助!

实现您想要的效果的唯一方法是通过右键单击快捷方式并使用“Run-as”功能打开几个SSMS实例。

我发现的另一种方法是去“开始”>“控制面板”>“存储的用户名和密码”(Windows 7中的管理工具>凭据管理器),并添加您将使用“runas”命令的域帐户。

然后,在SQL Management Studio 2005中,只需选择“Windows身份验证”,并输入您想要连接的服务器(即使您可以看到灰色的用户仍然是本地用户)…它确实有效!

别问我为什么!:)

< p >编辑: 请确保在凭据管理器中的服务器名称后包含“:1433”,否则可能由于不信任域而无法连接

虽然在单个SSMS实例中无法以不同用户的身份连接到多个服务器,但您需要的是以下RUNAS语法:

runas /netonly /user:domain\username program.exe

当使用“/netonly”开关时,即使没有设置信任,也可以在当前不是成员的域上使用远程凭据登录。它只是告诉runa凭证将用于访问远程资源——应用程序以当前登录用户的身份与本地计算机交互,并以您已提供凭证的用户的身份与远程计算机交互。

你仍然需要运行多个SSMS实例,但至少你可以在每个实例中作为不同的windows用户连接。
例如:runas /netonly /user:domain\username ssms.exe

按住转变,右键单击SQL Server management studio图标。您可以以其他windows帐户用户运行。

这些答案都没有满足我的需求: 使用与我在本地机器上登录的不同的域帐户登录到远程服务器,它是通过vpn登录的客户端域。我不想上他们的地盘!< / p >

相反,在连接到服务器对话框中,选择“Windows身份验证”,单击“选项”按钮,然后在“附加连接参数”选项卡上输入

user id=domain\user;password=password

SSMS不会记得,但它会连接到那个账户。

runas /netonly /user:domain\username program.exe命令只适用于我在Windows 10

  • 将其保存为批处理文件
  • 以管理员身份运行它,

当作为普通用户运行命令批处理时,我得到了一些用户在以前的评论中提到的错误密码问题。

一点powershell魔法就能达到目的:

cmdkey /add:"SERVER:1433" /user:"DOMAIN\USERNAME" /pass:"PASSWORD"

然后选择windows身份验证

对于Windows 10: 转到Sql Management Studio图标或菜单中的快捷方式: 右键单击>选择打开文件位置

enter image description here

按住Shift键并右键单击快捷方式,或文件夹中的ssms.exe文件。按住shift会给你一个额外的选项“以不同的用户运行”:

enter image description here

这将弹出一个登录框,您可以输入您希望会话在其中运行的凭据。

有人试过“plain”吗?没有参数的Runas ?那些/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都会要求你输入用户密码。只需输入并符合安全审计。