本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
若要使用云数据库RDS,您需要在实例中创建账号和数据库。本文介绍如何为RDS SQL Server实例创建账号和数据库。
RDS SQL Server各类账号和权限类型所对应的具体角色和权限详情,请参见账号权限列表。
前提条件
普通账号和高权限账号
SA权限的数据库账号
RDS实例需满足如下条件:
实例系列:基础系列、高可用系列(2012及以上版本)、集群系列
实例规格:通用型、独享型(不支持共享型)
计费方式:包年包月或按量付费(不支持Serverless实例)
网络类型:专有网络。如需变更网络类型,请参见更改网络类型。
实例创建时间:
高可用系列和集群系列实例的创建时间需在2021年01月01日或之后。
基础系列实例的创建时间需在2022年09月02日或之后。
说明创建时间可在基本信息页内的运行状态中查看。
登录账号必须为阿里云主账号。
主机账号
RDS实例需满足如下条件:
实例系列:基础系列、高可用系列(2012及以上版本)、集群系列
实例规格:通用型、独享型(不支持共享型)
计费方式:包年包月或按量付费(不支持Serverless实例)
网络类型:专有网络。如需变更网络类型,请参见更改网络类型。
实例创建时间:
高可用系列和集群系列实例的创建时间需在2021年01月01日或之后。
基础系列实例的创建时间需在2022年09月02日或之后。
说明创建时间可在基本信息页内的运行状态中查看。
登录账号必须为阿里云主账号。
数据库
注意事项
普通账号和高权限账号
实例的第一个账号必须创建为高权限账号。每个实例只能创建一个高权限账号,且该账号不能通过控制台或API接口进行删除。
不建议使用Terraform创建高权限用户。高权限账户目前无法通过Terraform来删除,如果使用Terraform创建了高权限账户,该账号无法通过Terraform来删除,可能会导致实例也无法正常释放。
同一实例下的数据库共享该实例下的所有资源。
账号名称或数据库名称不能与关键字重复。更多详情,请参见禁用关键字表。
为保障数据库的安全,请将数据库账号的密码设置为强密码,并定期更换。
分配数据库账号权限时,请按最小权限原则和业务角色创建账号,并合理分配只读和读写权限。必要时可以把数据库账号和数据库拆分成更小粒度,使每个数据库账号只能访问其业务之内的数据。如果不需要数据库写入操作,请分配只读权限。
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$
主机账号
聚石塔不支持创建主机账号。
一个RDS实例仅支持创建一个超级账号权限(System Admin)类型的主机账号。
主机账号名称不能为如下的任何一个:
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
创建账号
普通账号和高权限账号
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击账号管理。
单击创建账号,设置如下参数。
参数
说明
数据库账号
由小写字母、数字、下划线组成,以字母开头,以字母或数字结尾,最多50个字符。
账号类型
高权限账号:为实例创建第一个账号时,必须创建为高权限账号。每个实例只能创建一个高权限账号,且该账号不能删除。
普通账号:一个实例可以有多个普通账号。您需要手动为普通账号授予数据库权限。
授权数据库:
您可以为普通账号授权一个或多个数据库,并为其设置不同的权限。若尚未创建数据库,该值可以为空,后续为账号重新授权数据库即可。授权数据库的步骤如下:
在未授权数据库栏中,选中要授权的数据库。
单击,将数据库添加到已授权数据库栏中。
为该账号设置数据库权限,可设置为读写(DML)、只读或所有者。
说明拥有所有者权限的账号才可以在对应数据库内进行创建、删除表以及修改表结构操作。
新密码
设置账号密码。要求如下:
长度为8~32个字符。
由大写字母、小写字母、数字、特殊字符中的任意三种组成。
特殊字符为!@#$%^&*()_+-=
确认密码
输入与新密码一致的字段,需确保密码输入正确。
备注
输入备注说明,最多256个字符。
单击确定。
单击刷新按钮,即可查看已创建的账号。后续您可以按需修改账号权限或管理账号。具体操作,请参见修改账号权限、重置密码或删除普通权限账号。
SA权限的数据库账号
SA(System Admin)角色是SQL Server中最强大的角色,该角色完全绕过所有安全检查,可以在SQL Server中执行任何操作。您可以在RDS SQL Server中创建具备SA权限的数据库账号(超级权限账号),可用于快速适配线下软件上云等场景。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击账号管理。
单击创建账号,设置如下参数,单击确定。
警告SA权限账号为SQL Server数据库的最高权限,该账号所拥有的操作权限已超出RDS SQL Server的控制范围,因此若在RDS SQL Server实例中创建了SA权限账号,该实例不再享受SLA保障,实例运行环境归属于用户,但实例正常使用和售后服务仍不受影响。对于未创建SA权限账号的RDS SQL Server实例,仍享有完整SLA保障。
参数
说明
数据库账号
长度为2~64个字符,由小写字母、数字或下划线组成。但开头需为字母,结尾需为字母或数字。
账号类型
选择超级权限账号(sysadmin),阅读并勾选我已阅读并同意创建超级权限账号对《RDS服务等级协议》的变更行为。
说明如果您未找到该类型账号,请检查实例是否已满足前提条件。
其他类型的账号说明,请参见普通账号和高权限账号、主机账号。
新密码
设置账号密码。要求如下:
长度为8~32个字符。
由大写字母、小写字母、数字、特殊字符中的任意三种组成。
特殊字符为
!@#$%^&*()_+-=
。
确认密码
输入与密码一致的字段,以确保密码正确输入。
备注
输入备注说明,最多256个字符。
(可选)重置账号密码或禁用账号。
您可单击账号操作列下的重置密码或禁用账号按钮对账号进行管理。更多详情,请参见重置密码。
主机账号
RDS SQL Server支持创建主机账号,您可以创建主机账号并使用它登录到RDS SQL Server主机,以此更加方便地管理和操作数据库。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击账号管理。
选择主机账号页签,单击创建账号,设置如下参数。
参数
说明
主机账号名
长度为2~64个字符,由小写字母、数字或下划线组成。但需要以字母开头,以字母或数字结尾。
账号类型
普通账号:选择创建普通类型的主机账号。
超级权限账号:选择创建超级权限类型(System Admin)的主机账号,一个RDS实例仅支持创建一个该类型的主机账号。更多超级权限账号的说明,请参见SA权限的数据库账号。
新密码
设置账号密码。要求如下:
长度为8~32个字符。
由大写字母、小写字母、数字、特殊字符中的任意三种组成。
特殊字符为
!@#$%^&*()_+-=
。
确认密码
输入与密码一致的字段,以确保密码正确输入。
备注说明
输入备注说明,最多256个字符。
勾选我已阅读并同意创建主机权限账号对《RDS服务等级协议》的变更行为。
单击确定。
(可选)重置主机账号密码或删除已创建主机账号。
您可单击账号操作列下的重置密码或删除按钮对账号进行管理。
下一步:通过主机账号登录RDS SQL Server主机
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击账号管理。
选择主机账号页签,单击目标账号操作列下的远程连接(主)。
在弹出的远程连接对话框中,输入主机账号密码。
单击确定。
单击确定后,系统会生成一个WebShell登录地址并自动登录到SQL Server实例主机。系统会以弹窗形式打开一个新WebShell页面,页面开启时可能会被浏览器拦截,如果出现此情况,请设置浏览器窗口的拦截方式为始终允许,以确保页面正常显示。页面显示如下:
创建数据库
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击数据库管理。
单击创建数据库,设置如下参数。
参数
说明
数据库(DB)名称
填写数据库名称。由大写字母、小写字母、数字、下划线(_)或中划线(-)组成,以字母开头,以字母或数字结尾,长度为2~64个字符。
支持字符集
数据库的字符集。
备注说明
输入备注说明,最多256个字符。
单击创建。
相关文档
通过API为RDS实例创建账号,请参见CreateAccount - 创建数据库账号。
通过API为RDS实例创建数据库,请参见CreateDatabase - 创建数据库。
您可按需修改普通账号和高权限账号的权限,SA账号拥有所有数据库权限,不涉及修改。请参见修改账号权限。
常见问题
Q:主实例创建的账号是否可以在只读实例上使用?
A:主实例创建的账号会同步到只读实例,只读实例无法管理账号。只读实例上的账号权限仅限于读操作,不能进行写操作。