无法为无法在数据库中进行身份验证的用户提供参数 PASSWORD

The parameter PASSWORD cannot be provided for users that cannot authenticate in a database

当我登录到 Azure 门户 select 我的 SQL 数据库 -> 工具 -> QueryEditor 并输入:

ALTER USER MyUser WITH Password = '**********'

我收到错误:

Failed to execute query. Error: The parameter PASSWORD cannot be provided for users that cannot authenticate in a database.

我在 Visual Studio 数据库项目中创建了用户 MyUser.sql (Build Action=Build):

CREATE USER [My_User] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo];

为什么我会收到消息?

是否可以在数据库项目中创建用户,以便我稍后指定密码(不是源代码)?

您的用户不是数据库可以验证的包含数据库用户。这是因为您没有使用

语法创建它
CREATE USER user_name WITH PASSWORD = 'strong_password';

你创建的是一个没有登录的"traditional"用户,在"traditional"模型中user不能有密码,只有对应的login可以。但是您的用户在创建时没有相应的登录名 without login,因此您根本无法更改密码。

您可以在此处找到有关包含的数据库资源的更多详细信息:Contained Database Users