SA(System Admin)角色是SQL Server中最强大的角色,该角色完全绕过所有安全检查,可以在SQL Server中执行任何操作。您可以在RDS SQL Server中创建具备SA权限的数据库账号(超级权限账号),可用于快速适配线下软件上云等场景。
前提条件
RDS实例需满足如下条件:
实例系列:基础系列、高可用系列(2012及以上版本)、集群系列
实例规格:通用型、独享型(不支持共享型)
计费方式:包年包月或按量付费(不支持Serverless实例)
网络类型:专有网络。如需变更网络类型,请参见更改网络类型。
实例创建时间:
高可用系列和集群系列实例的创建时间需在2021年01月01日或之后。
基础系列实例的创建时间需在2022年09月02日或之后。
说明创建时间可在基本信息页内的运行状态中查看。
登录账号必须为阿里云主账号。
注意事项
若您的实例满足前提条件,但控制台看不到SA权限账号创建入口,您可以对实例进行一次可用区迁移操作,完成后刷新账号管理页面,即可创建SA权限账号。
每个实例只能创建一个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权限账号为SQL Server数据库的最高权限,该账号所拥有的操作权限已超出RDS SQL Server的控制范围,因此若在RDS SQL Server实例中创建了SA权限账号,该实例不再享受SLA保障,实例运行环境归属于用户,但实例正常使用和售后服务仍不受影响。对于未创建SA权限账号的RDS SQL Server实例,仍享有完整SLA保障。
使用建议
由于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密码。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击账号管理。
单击创建账号,设置如下参数,单击确定。
参数
说明
数据库账号
长度为2~64个字符,由小写字母、数字或下划线组成。但开头需为字母,结尾需为字母或数字。
账号类型
选择超级权限账号,阅读并勾选我已阅读并同意创建超级权限账号对《RDS服务等级协议》的变更行为。
说明如果您未找到该类型账号,请检查实例是否已满足前提条件。
其他类型的账号说明,请参见普通账号和高权限账号、主机账号。
新密码
设置账号密码。要求如下:
长度为8~32个字符。
由大写字母、小写字母、数字、特殊字符中的任意三种组成。
特殊字符为
!@#$%^&*()_+-=
。
确认密码
输入与密码一致的字段,以确保密码正确输入。
应用密码策略
创建账号时,选择是否应用密码策略,以控制账号密码的使用时长,增强账号的安全性。应用前您需要先设置密码策略,请参见自定义账号密码策略。
备注
输入备注说明,最多256个字符。
(可选)重置账号密码或禁用账号。
您可单击账号操作列下的重置密码或禁用账号按钮对账号进行管理。更多详情,请参见重置密码。
相关文档
您也可以通过API创建SA权限的数据库账号或其他权限账号,详情请参见CreateAccount - 创建数据库账号。
如需通过控制台创建普通账号或高权限账号,详情请参见创建普通账号或高权限账号。