无法使用新用户登录 Azure SQL
Posted
技术标签:
【中文标题】无法使用新用户登录 Azure SQL【英文标题】:Can not login to Azure SQL with new user 【发布时间】:2017-12-07 13:38:16 【问题描述】:我想为 Azure Sql 数据库创建一个具有特定权限的新用户,但我无法使用它登录。据我了解,创建新用户和登录的必要步骤是首先创建登录:
CREATE LOGIN myLogin
WITH PASSWORD = 'myPw'
GO
之后我为非主数据库创建一个新用户并将他添加到角色中:
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)
我错过了一步吗?
【问题讨论】:
您是否在Master
数据库中创建了LOGIN
? docs.microsoft.com/en-us/azure/sql-database/…
是的,登录在master数据库,用户在具体的非master数据库
您是否在 Azure SQL 数据库的防火墙上创建了条目?您如何尝试连接到数据库?你在使用 SSMS
机器的IP在防火墙里。我尝试使用 SSMS、OSQL 和 UDL 文件。使用 SSMS 登录与 DB-Admin 相同的机器。
当您使用 SSMS 连接时,请尝试单击“选项”按钮,并在“连接到数据库”字段中指定用户数据库。
【参考方案1】:
我也遇到了这个问题。你能解决它吗?我试图使用登录来保持数据库用户密码同步,但它根本不起作用,因此直接在非主数据库中创建具有密码的用户对我有用。
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
【讨论】:
请以 cmets 而非回答者的身份提问以上是关于无法使用新用户登录 Azure SQL的主要内容,如果未能解决你的问题,请参考以下文章
具有托管标识(用户分配)的 Azure SQL 无法针对 AAD 使用
更改密码后无法使用Visual Studio 2013登录Windows azure帐户