14

我有安装了 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 实例上登录的本地用户?

4

2 回答 2

2

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

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

但是再次添加登录是最聪明和最简单的解决方案。

于 2017-08-01T13:06:50.473 回答
0

对于那些尝试了上述解决方案但仍然遇到此问题的人:通过将 Server=localhost 值替换为登录 MSSQL Management Studio 时看到的服务器名称来更改 appsettings 中的连接字符串。

于 2022-02-27T10:56:46.810 回答