RDS for SQL Server新建登录账号登录实例报错
故障描述
使用rdsuser新创建账号(以newlogin为例),通过newlogin登录RDS for SQLServer实例时报错:登录账号缺少对msdb数据库的登录权限。
![](https://support.huaweicloud.com/trouble-rds/zh-cn_image_0000001984551372.png)
原因分析
为了防止陌生账号能够比较容易的获取的msdb权限,RDS for SQL Server做了安全加固,回收了msdb库的默认guest登录权限,使得新创建的账号默认没有msdb的权限。
![](https://support.huaweicloud.com/trouble-rds/zh-cn_image_0000002021275405.png)
解决方案
使用rdsuser账号手动授予新账号的msdb库的public权限。具体操作如下:
方式一:
- 使用SSMS工具,以rdsuser账号登录实例。
- 在新账号(newlogin)上右键单击,查看属性。
在“User Mapping”中勾选msdb库,查看下面勾选了public角色,单击“OK”。
图3 授予public权限 - 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。
方式二:
- 使用DAS,以rdsuser账号登录实例。
- 执行以下SQL授予msdb库权限。SQL中待授权账号以newlogin为例。
USE [msdb] GO CREATE USER [newlogin] FOR LOGIN [newlogin] GO
- 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。