RDS for SQL Server新建登录账号登录实例报错
故障描述
使用rdsuser新创建账号(以newlogin为例),通过newlogin登录RDS for SQLServer实例时报错:登录账号缺少对msdb数据库的登录权限。
   原因分析
为了防止陌生账号能够比较容易地获取到msdb权限,RDS for SQL Server做了安全加固,回收了msdb库的默认guest登录权限,使得新创建的账号默认没有msdb的权限。
   解决方案
使用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)登录实例,则不会出现报错。