文档首页/ 云数据库 RDS/ 故障排除/ RDS for SQL Server/ RDS for SQL Server新建登录账号登录实例报错
更新时间:2024-10-24 GMT+08:00

RDS for SQL Server新建登录账号登录实例报错

故障描述

使用rdsuser新创建账号(以newlogin为例),通过newlogin登录RDS for SQLServer实例时报错:登录账号缺少对msdb数据库的登录权限。

图1 报错信息

原因分析

为了防止陌生账号能够比较容易的获取的msdb权限,RDS for SQL Server做了安全加固,回收了msdb库的默认guest登录权限,使得新创建的账号默认没有msdb的权限。

图2 查看登录权限

解决方案

使用rdsuser账号手动授予新账号的msdb库的public权限。具体操作如下:

方式一:

  1. 使用SSMS工具,以rdsuser账号登录实例。
  2. 在新账号(newlogin)上右键单击,查看属性。

    在“User Mapping”中勾选msdb库,查看下面勾选了public角色,单击“OK”。

    图3 授予public权限
  3. 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。

方式二:

  1. 使用DAS,以rdsuser账号登录实例。
  2. 执行以下SQL授予msdb库权限。SQL中待授权账号以newlogin为例。
    USE [msdb]
     GO
     CREATE USER [newlogin] FOR LOGIN [newlogin]
     GO
  3. 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。