1

我在 Windows 8 企业版中作为独立实例安装了 SQL Server 2012。它以混合模式运行。当前登录的帐户是本地 MACHINE\Administrators 的成员,本地 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 身份验证。

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

4

2 回答 2

2

您是否有机会在使用时提供安装 SQL Server 的用户的凭据Run as

请参阅此 SO question的第二个答案:

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

您将需要以 sa 身份登录并配置所需的任何 Windows 登录名(例如本地管理员帐户)。

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

于 2012-11-01T21:09:33.467 回答
0

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

于 2015-12-28T10:12:55.103 回答