Sql server 如何在不使用RunAs的情况下对SSM使用Windows身份验证?

Sql server 如何在不使用RunAs的情况下对SSM使用Windows身份验证?,sql-server,authentication,sql-server-2012,Sql Server,Authentication,Sql Server 2012,我已将SQL Server 2012作为独立实例安装在Windows 8 Enterprise edition中。它以混合模式运行。当前登录的帐户是local MACHINE\Administrators的成员,并且local BUILTIN\Administrators组处于sysadmin角色。为了更好地衡量,当前用户也在MACHINE\SQLAdmins组中,该组也处于sysadmin角色 从快捷方式启动SQL Server Management Studio(SSMS)时,无法使用Win

我已将SQL Server 2012作为独立实例安装在Windows 8 Enterprise edition中。它以混合模式运行。当前登录的帐户是local MACHINE\Administrators的成员,并且local BUILTIN\Administrators组处于sysadmin角色。为了更好地衡量,当前用户也在MACHINE\SQLAdmins组中,该组也处于sysadmin角色

从快捷方式启动SQL Server Management Studio(SSMS)时,无法使用Windows身份验证。我得到以下错误:

TITLE: Connect to Server
Cannot connect to INSTANCENAME.
ADDITIONAL INFORMATION:
Login failed for user 'MACHINE\user'. (Microsoft SQL Server, Error: 18456)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476
事实上,如果从快捷方式启动LinqPad,则无法使用依赖Windows身份验证的连接字符串连接到服务器

但是,如果我使用RunAs Administrator以提升的权限运行SSMS或LinqPad,我可以使用Windows身份验证,体验与预期一样

或者,我可以像这样将RunAs命令包含到SSMS快捷方式中

C:\Windows\System32\runas.exe /USER:MACHINE\user "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
令人惊讶的是,双击快捷方式将提示我输入当前用户的密码。但是,一旦发生重新身份验证,SSMS将允许对当前用户进行Windows身份验证


问题是,当我双击快捷方式并最终,我如何在不提升权限的情况下运行LinqPad或SSMS或任何其他通过Windows身份验证连接到数据库的应用程序?

当您使用
运行方式时,您是否有可能提供安装SQL Server的用户的凭据

请参见第二个答案:


在以前版本的SQL中,提供了BUILTIN\Administrators组 系统管理员角色。本地管理员没有登录权限 默认情况下,在SQL 2008中。只有执行安装的用户是 默认的sa特权。在安装过程中,您可以选择添加 其他用户,但您显然没有

您需要以sa身份登录,并配置任何windows登录 必需(如本地管理员帐户)


我也遇到了同样的情况,我的用户帐户是本地管理员,但在安装SQL Server的人将我的windows帐户手动添加到SQL Server登录之前,我无法登录。

在以前版本的SQL中,内置\Administrators组被赋予了系统管理员角色。在SQL 2008中,默认情况下,本地管理员没有登录权限。只有执行安装的用户才具有默认的sa权限。在安装过程中,您可以选择添加其他用户,但显然没有添加。

您是将用户帐户添加到
sysadmin
角色,还是仅添加到
machine\administrators
组?如果是后者,则当您被提升时,您只是该组的成员。在我发布此问题之前,我在安装过程中重新安装并添加了MACHINE\Administrators。是的,RunAs用户进行了安装,但我还创建了MACHINE\SQLAdmins post-install,并添加了具有sysadmin角色的组。安装用户位于MACHINE\SQLAdmins中,但仍必须以运行方式使用Windows Auth。错误日志中是否有任何内容可能为您提供线索?用户“MACHINE\user”登录失败。原因:基于令牌的服务器访问验证失败,出现基础结构错误。检查以前的错误。[客户:]我没有看到之前的相关错误。(仅供参考:我在VMware中运行)从未见过这个问题,但一些快速搜索UAC的点可能是罪魁祸首:而且似乎确实是UAC。将用户作为系统管理员而不是组成员直接添加到登录中可以解决此问题。当然,RunAs admin和我认为禁用UAC也可以工作。谢谢