SQL Srv 2016:用户'MicrosoftAccount\...'登录失败

ero*_*rop 10 sql-server sa microsoft-account windows-10

我安装了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. 意味着 "无效用户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
Run Code Online (Sandbox Code Playgroud)

一切都很好.但我想知道有没有更明智的方法将MS_account映射到在SQL Srv实例上登录的本地用户?

小智 2

我不会说任何解决方案比你的更聪明,这取决于你的情况和你想要的。但是,如果您不关心 OneDrive 和此类功能,您也可以恢复为本地用户。

开始 > 头像按钮 > 更改帐户设置 > 您的电子邮件和帐户 > 使用本地帐户登录。

但重新添加登录是最明智、最简单的解决方案。