我有安装了 SQL Server 2016 Dev 的 Windows 10 Pro 机器。机器上有两个本地用户帐户:[WORK\admin] 和 [WORK\erop]。[WORK\erop] 帐户最初是在未连接到 Microsoft 的情况下创建的。但后来我将它连接到我的 MS 帐户。安装 SQL Srv 时将 [WORK\erop] 帐户添加到 sysadmin 角色。
现在我尝试使用 SSMS 作为 [WORK\erop] 连接到 SQL Srv 实例,但收到:
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.
这意味着“无效的用户标识”
。
我猜 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
一切都很好。但我想知道有没有更聪明的方法可以将 MS_account 映射到在 SQL Srv 实例上登录的本地用户?