
# 修改自定义数据库名称
#### 操作场景
华为云关系型数据库服务支持用户修改自定义数据库的名称。
#### 前提条件
- 成功连接RDS for SQL Server实例。关于连接关系型数据库实例，请参考[连接实例](https://support.huaweicloud.com/usermanual-rds-mssql/rds_mssql_connect_06.html)。
- 在您对HA实例重命名之前，请先执行如下命令取消数据库的镜像关系。
  ```
  alter database [dbname] set partner off;
  ```
  
- 数据库重命名成功后，系统会自动为新的数据库建立镜像关系。 如果对未取消HA实例镜像关系的数据库进行重命名，系统将会如下提示：
  ```
  Database 数据库名 is on mirroring_state.
  ```
  
- 对于数据库版本为2017 EE的实例，若要进行重命名的数据库已加入到 \[AG-RDS-YUN\] 可用性组中，必须先将其[移出可用性组](https://support.huaweicloud.com/usermanual-rds-mssql/rds_09_0005.html)，才可进行重命名操作。
 
#### 约束
- 对于系统库，不可修改名称。如果您试图修改系统库的名称，系统将会如下提示：
  ```
  Error DBName_Source or DBName_Target. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') .
  ```
  

- 不可使用已经存在的数据库名称进行重命名操作。如果重命名的数据库名称已经存在，系统将会如下提示：
  ```
  Database 数据库名 already exists. Cannot rename database with the same name.
  ```
  
 
#### 操作步骤
执行以下命令，修改数据库名称。
```
exec msdb.dbo.rds_rename_database N'oldname',N'newname';
```
- *oldname*为修改前的数据库名称。
- *newname* 为修改后的数据库名称。
将名为"ABC"的数据库重命名为"XYZ"，示例如下：
```
exec msdb.dbo.rds_rename_database N'ABC',N'XYZ';
```
数据库名称修改成功后，系统将会如下提示：
```
The database name 'XYZ' has been set.
```
数据库重命名成功后，系统会自动对数据库进行一次全量备份。
