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