问题描述
我试图为Azure sql Server中的一个数据库创建一个包含的用户,
我尝试使用sp_configure
关键字,它说它在我正在使用的sql Server版本中不可用。
此外,我使用了Alter database
语句,但出现以下错误:
请,我该如何解决这个问题?
解决方法
您不需要在Azure SQL数据库上运行ALTER DATABASE ... SET CONTAINMENT
命令来接受包含的用户-默认情况下已启用该命令。您只需要使用登录名和密码来创建用户。一个包含密码的用户的简单示例:
CREATE USER yourUser WITH PASSWORD = 'yourPassword';
有关更多示例,请参见官方文档:
- https://docs.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver15#e-creating-a-contained-database-user-with-password
- https://docs.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver15#f-creating-a-contained-database-user-for-a-domain-login
版本管理和数据库SQL可能不匹配,或者 阻止您的用户数据库
, Azure SQL数据库不支持 sp_configure,甚至使用Alter database
:
在Azure SQL数据库中,登录名用于登录Azure SQL服务器,用户用于连接数据库。用户是数据库级别,登录名是服务器级别。
在主数据库中创建登录名((必须在主数据库中创建登录名)):
CREATE LOGIN AbolrousHazem
WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
然后我们可以在用户数据库中创建用户(在用户数据库中创建包含用户的数据库):
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO
有关更多详细信息,请参考:https://docs.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage