在SQL Server Management Studio 2005(或更高版本)中是否有一种方法可以更改Windows身份验证用户(就像在SQL Server 2000或更早版本中一样)?
这是一般连接属性对话框(注意,当选择Windows Auth时,灰色的UID/PWD):
供你参考-一个解决办法是使用runas,但我正在寻找一个解决方案,将允许我跨多个服务器(和跨多个域)使用多个Windows帐户。
在SQL Server Management Studio 2005(或更高版本)中是否有一种方法可以更改Windows身份验证用户(就像在SQL Server 2000或更早版本中一样)?
这是一般连接属性对话框(注意,当选择Windows Auth时,灰色的UID/PWD):
供你参考-一个解决办法是使用runas,但我正在寻找一个解决方案,将允许我跨多个服务器(和跨多个域)使用多个Windows帐户。
当前回答
我发现的另一种方法是去“开始”>“控制面板”>“存储的用户名和密码”(Windows 7中的管理工具>凭据管理器),并添加您将使用“runas”命令的域帐户。
然后,在SQL Management Studio 2005中,只需选择“Windows身份验证”,并输入您想要连接的服务器(即使您可以看到灰色的用户仍然是本地用户)…它确实有效!
别问我为什么!:)
编辑: 请确保在凭据管理器中的服务器名称后包含“:1433”,否则可能由于不信任域而无法连接。
其他回答
按住shift键,右击SQL Server management studio图标。您可以以其他windows帐户用户运行。
一点powershell魔法就能达到目的:
cmdkey /add:"SERVER:1433" /user:"DOMAIN\USERNAME" /pass:"PASSWORD"
然后选择windows身份验证
虽然在单个SSMS实例中无法以不同用户的身份连接到多个服务器,但您需要的是以下RUNAS语法:
runas /netonly /user:domain\username program.exe
当使用“/netonly”开关时,即使没有设置信任,也可以在当前不是成员的域上使用远程凭据登录。它只是告诉runa凭证将用于访问远程资源——应用程序以当前登录用户的身份与本地计算机交互,并以您已提供凭证的用户的身份与远程计算机交互。
您仍然必须运行SSMS的多个实例,但至少可以在每个实例中以不同的windows用户连接。 例如:runas /netonly /user:域\用户名sssm .exe
有人尝试过没有参数的“简单”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都会要求你输入用户密码。只需输入并符合安全审计。
runas /netonly /user:domain\username program.exe命令只适用于我在Windows 10上
将其保存为批处理文件 以管理员身份运行它,
当作为普通用户运行命令批处理时,我得到了一些用户在以前的评论中提到的错误密码问题。