我有安装了SQL Server 2016 Dev的Windows 10 Pro计算机。机器上有两个本地用户帐户:[WORK \ admin]和[WORK \ erop]。首先创建[WORK \ erop]帐户,无需连接到Microsoft。但后来我将它连接到我的MS帐户。安装SQL Srv时,[WORK \ erop]帐户已添加到sysadmin角色。SQL Srv 2016:登录失败,用户'MicrosoftAccount ...'
现在我尝试用SSMS连接到SQL SRV实例作为[WORK \ erop],但得到:
Login failed for user 'MicrosoftAccount\<my_MS_account>'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
和 Error: 18456, Severity: 14, State: 5.
这means “无效的用户ID”。
正如我猜SSMS在MS帐户下启动,因为MS帐户没有SQL Srv实例登录它拒绝连接。
我执行
CREATE LOGIN [MicrosoftAccount\<MS_account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [MicrosoftAccount\MS_account]
GO
,一切都OK。但我不知道有没有更聪明的方法将MS_account映射到在SQL Srv实例上登录的本地用户?
你有没有找到任何解决方案? –
我的解决方案是上面的代码片段。但是,如果你的意思是期望的“更聪明的方式”......不,不幸的是不是。 – erop
看起来像你想出来的。我的2美分是我会继续说,你想作为SQL Server的管理员帐户,你应该在实际的机器上设置为ADMIN的帐户,并用该帐户登录(您可以随时降低权限,但我永远不会这样做),因为我假设您希望使用此特定帐户运行SQL服务并安装SQL Server。然后在安装SQL Server之后添加安全登录,如上所述。 – Moojjoo