创建SA权限的数据库账号

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

SA(System Admin)角色是SQL Server中最强大的角色,该角色完全绕过所有安全检查,可以在SQL Server中执行任何操作。您可以在RDS SQL Server中创建具备SA权限的数据库账号(超级权限账号),可用于快速适配线下软件上云等场景。

前提条件

  • RDS实例需满足如下条件:

    • 实例系列:基础系列、高可用系列(2012及以上版本)、集群系列

    • 实例规格:通用型、独享型(不支持共享型)

    • 计费方式:包年包月或按量付费(不支持Serverless实例)

    • 网络类型:专有网络。如需变更网络类型,请参见更改网络类型

    • 实例创建时间:

      • 高可用系列和集群系列实例的创建时间需在2021年01月01日或之后。

      • 基础系列实例的创建时间需在2022年09月02日或之后。

      说明

      创建时间可在基本信息页内的运行状态中查看。

  • 登录账号必须为阿里云主账号

注意事项

  • 每个实例只能创建一个SA权限的数据库账号,且该账号不能通过控制台、API接口、Terraform进行删除。

  • 聚石塔不支持创建SA权限账号。

  • SA账号名称不能为如下的任何一个:

    root|admin|eagleye|master|aurora|sysadmin|administrator|mssqld|public|securityadmin|serveradmin|setupadmin|processadmin|diskadmin|dbcreator|bulkadmin|tempdb|msdb|model|distribution|mssqlsystemresource|guest|add|except|percent|all|exec|plan|alter|execute|precision|and|exists|primary|any|exit|print|as|fetch|proc|asc|file|procedure|authorization|fillfactor|public|backup|for|raiserror|begin|foreign|read|between|freetext|readtext|break|freetexttable|reconfigure|browse|from|references|bulk|full|replication|by|function|restore|cascade|goto|restrict|case|grant|return|check|group|revoke|checkpoint|having|right|close|holdlock|rollback|clustered|identity|rowcount|coalesce|identity_insert|rowguidcol|collate|identitycol|rule|column|if|save|commit|in|schema|compute|index|select|constraint|inner|session_user|contains|insert|set|containstable|intersect|setuser|continue|into|shutdown|convert|is|some|create|join|statistics|cross|key|system_user|current|kill|table|current_date|left|textsize|current_time|like|then|current_timestamp|lineno|to|current_user|load|top|cursor|national|tran|database|nocheck|transaction|dbcc|nonclustered|trigger|deallocate|not|truncate|declare|null|tsequal|default|nullif|union|delete|of|unique|deny|off|update|desc|offsets|updatetext|disk|on|use|distinct|open|user|distributed|opendatasource|values|double|openquery|varying|drop|openrowset|view|dummy|openxml|waitfor|dump|option|when|else|or|where|end|order|while|errlvl|outer|with|escape|over|writetext||dbo|login|sys|drc_rds$

使用建议

由于SA权限账号拥有的权限过大,且该账号所拥有的操作权限已超出RDS SQL Server的控制范围,因此使用该账号期间,请务必遵循以下使用建议:

  • 请勿操作高可用系列和集群系列RDS SQL Server实例的rdscore数据库。

  • 请勿操作系统账号。具体详情,请参见系统账号说明

  • 请勿在本地环境执行物理备份操作,该操作将影响实例PITR(Point-In-Time Recovery)能力。建议使用RDS自带备份功能,请参见备份SQL Server数据

  • 请勿对高可用系列和集群系列的RDS SQL Server实例执行移除或操作高可用相关对象操作,例如执行DROP AVAILABILITY GROUP等操作。

  • 请勿将任何数据存储于C盘(系统盘)中。

  • 请勿修改RDS实例中已有的Server级别的触发器,包含[_$$_tr_$$_rds_alter_database][_$$_tr_$$_rds_alter_login][_$$_tr_$$_rds_create_database][_$$_tr_$$_rds_create_login][_$$_tr_$$_rds_drop_database][_$$_tr_$$_rds_drop_login][_$$_tr_$$_rds_server_role]

  • 请勿修改SQL Server的启动账号、端口等核心配置。

  • 请勿修改Windows Administrator密码。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏单击账号管理

  3. 单击创建账号,设置如下参数,单击确定

    警告

    SA权限账号为SQL Server数据库的最高权限,该账号所拥有的操作权限已超出RDS SQL Server的控制范围,因此若在RDS SQL Server实例中创建了SA权限账号,该实例不再享受SLA保障,实例运行环境归属于用户,但实例正常使用和售后服务仍不受影响对于未创建SA权限账号的RDS SQL Server实例,仍享有完整SLA保障

    参数

    说明

    数据库账号

    长度为2~64个字符,由小写字母、数字或下划线组成。但开头需为字母,结尾需为字母或数字。

    账号类型

    选择超级权限账号(sysadmin),阅读并勾选我已阅读并同意创建超级权限账号对《RDS服务等级协议》的变更行为

    说明

    新密码

    设置账号密码。要求如下:

    • 长度为8~32个字符。

    • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。

    • 特殊字符为!@#$%^&*()_+-=

    确认密码

    输入与密码一致的字段,以确保密码正确输入。

    应用密码策略

    创建账号时,选择是否应用密码策略,以控制账号密码的使用时长,增强账号的安全性。应用前您需要先设置密码策略,请参见自定义账号密码策略

    备注

    输入备注说明,最多256个字符。

  4. (可选)重置账号密码或禁用账号。

    您可单击账号操作列下的重置密码禁用账号按钮对账号进行管理。更多详情,请参见重置密码

    image

相关文档