我想创建一个具有Azure Sql数据库特定权限的新用户,但我无法使用它登录。根据我的理解,创建新用户和登录的必要步骤是首先创建登录:
CREATE LOGIN myLogin
WITH PASSWORD = 'myPw'
GO
之后我为非master数据库创建一个新用户并将他添加到角色:
CREATE USER myUser
FOR LOGIN myLogin
WITH DEFAULT_SCHEMA = dbo
GO
EXEC sp_addrolemember N'db_datareader', N'myUser'
EXEC sp_addrolemember N'db_datawriter', N'myUser'
GO
当我现在尝试使用密码为myUser
的用户名myPw
登录时,收到错误消息
Login failed for user 'myUser'. (Microsoft SQL Server, Error: 18456)
我错过了一步吗?
答案 0 :(得分:0)
我也遇到了这个问题。你能解决吗?。我试图使用登录名来保持数据库用户密码同步,但它根本不起作用,因此直接在非主数据库中使用密码创建用户对我有用。
if not exists(select * from sys.database_principals where name = 'my_user')
begin
exec('create user [my_user] with password = ''my_pwd'', default_schema = dbo')
end
go
-- Give specific roles to new database user
alter role db_ddladmin add member [my_user]
alter role db_datareader add member [my_user]
alter role db_datawriter add member [my_user]
go
-- Assure you give connect access to the user, otherwise may not be able to login
grant connect to [my_user]
go