使用 Windows 身份验证的一个优点是,当用户当前登录 Windows 时,我不需要提供用户名和密码来登录服务器。但在特定情况下,我想以另一个用户身份登录 SQL Server,使用相同的 Windows Authenticated ODBC 连接。
所以,问题是:是否可以使用 Windows 身份验证登录 SQL Server,但不能以当前登录 Windows 的用户身份登录(没有询问用户名和密码的对话框)?
使用 Windows 身份验证的一个优点是,当用户当前登录 Windows 时,我不需要提供用户名和密码来登录服务器。但在特定情况下,我想以另一个用户身份登录 SQL Server,使用相同的 Windows Authenticated ODBC 连接。
所以,问题是:是否可以使用 Windows 身份验证登录 SQL Server,但不能以当前登录 Windows 的用户身份登录(没有询问用户名和密码的对话框)?
您的问题的简单答案是否定的,如果不显示对话框,则无法使用其他 Windows 帐户登录 SQL Server。
稍微复杂一点的答案是;您可以通过右键单击查询分析器图标并选择“运行方式”以其他用户身份登录(显示对话框)(可能需要按住 CTRL 或 SHIFT 键才能显示 RUN AS。
您还可以查看 RUNAS 命令行可执行文件,因此您可以创建一个包含 RUNAS 命令、凭据和查询分析器路径的快捷方式。这将消除在执行时被要求输入用户名或密码。
无论如何,如果您不使用登录用户的凭据,您将需要传递其他凭据——除了直接要求它们之外,唯一的其他选择是存储它们。
一旦你这样做了,可能值得考虑混合模式身份验证并针对这种特定情况使用 SQL login/pw。
Runas 不允许您在命令行上提供密码,并且会生成一个弹出窗口来收集它。稍微搜索一下,我就可以在 technet 上找到一篇文章,虽然它不是预期用途,但它可能会有所帮助。
http://technet.microsoft.com/en-us/library/bb727155.aspx
http://blogs.msdn.com/oldnewthing/archive/2004/11/29/271551.aspx