创建用户…在Docker(MacBook Air M1)中运行的Azure SQL Edge上失败

bkhjykvo  于 2023-06-29  发布在  Docker
关注(0)|答案(1)|浏览(162)

我在Docker中运行了Azure SQL Edge,但无法创建新的数据库用户。CREATE USER给出以下错误:“只能在包含的数据库中创建具有密码的用户。”
如果我尝试使用ALTER DATABASE TestDB set containment=PARTIAL;更改包含,也不会成功。错误说:“sp_configure值'contained database authentication'必须设置为1才能更改包含的数据库。您可能需要使用RECONFIGURE来设置value_in_use。ALTER DATABASE语句失败。”
我也试过EXEC sp_configure 'contained database authentication', 1;,但它给出了:“此版本的SQL Server不支持指定的选项'contained database authentication',并且无法使用sp_configure更改。”
有没有别的东西,我可以试试,或者这是它应该是什么,我应该只是使用数据库作为sa?任何帮助将不胜感激。

uz75evzq

uz75evzq1#

这对你来说可能已经不重要了,但是其他遇到这个问题的人。我在使用testcontainers时也遇到了同样的问题。
我用传统的登录模型解决了这个问题:https://learn.microsoft.com/en-us/sql/relational-databases/security/contained-database-users-making-your-database-portable?view=sql-server-ver16#syntax-differences

-- set username:testUserLogin and password:yourPassword for your database connection

create login [testUserLogin] with password = 'yourPassword';
create user [TESTUSER] for login [testUserLogin] with default_schema =[YOUR_SCHEMA];

但是,如果您真的需要或想要包含的用户模型,那么它将不会帮助您。

相关问题