尝试在 Azure SQL Server 上创建新的 Azure AD 服务器主体(登录名)时,为什么会收到“PROVIDER”附近的错误语法?

Emr*_*inç 1 sql-server ssms azure azure-sql-database

尝试在 Azure SQL Server 上创建新的 Azure AD 服务器主体(登录名)时,为什么会收到“PROVIDER”附近的错误语法?

我正在关注标题为“使用 SSMS 创建其他 Azure AD 服务器主体(登录) ”的官方 Microsoft 文档,并且我使用的是 SQL Server Management Studio 18.1 版。

按照文档,我已经使用“ Active Directory - Universal with MFA support ”选项成功登录到我的Azure SQL Server,我想添加一个 Active Directory 用户,以便我的同事也可以访问同一台服务器并查看我在该服务器上创建的数据库。如 Microsoft 文档中所述,我打开一个新的查询窗口,并尝试运行以下 SQL 命令:

USE master
GO
CREATE LOGIN [firstname.lastname@example.com] FROM EXTERNAL PROVIDER
GO
Run Code Online (Sandbox Code Playgroud)

但我立即收到以下错误:

Msg 102, Level 15, State 48, Line 3
Incorrect syntax near 'PROVIDER'.
Run Code Online (Sandbox Code Playgroud)

Dav*_*oft 12

在 Azure SQL 数据库(单个数据库)中,您只能创建 AAD 用户,而不能创建 AAD 登录名。为Azure SQL 数据库托管实例添加了 AAD 登录。

所以你只需在目标数据库中创建用户,例如

CREATE USER [someuser@somedomain.com] FROM EXTERNAL PROVIDER;
Run Code Online (Sandbox Code Playgroud)

  • 为了完整起见,从外部提供商创建用户 [someuser@somedomain.com]; (3认同)