本文介绍RDS SQL Server 2012、2014、2016、2017、2019支持的存储过程。
本文适用于RDS SQL Server 2012、2014、2016、2017、2019。
关于SQL Server存储过程的更多介绍,请参见RDS SQL Server使用介绍。
实例内复制数据库
T-SQL命令
sp_rds_copy_database
支持的实例
- 高可用版
- 基础版
描述
在实例内复制一个数据库。
使用方法
1 | EXEC sp_rds_copy_database 'db' , 'db_copy' |
- 第一个参数是被拷贝的数据库。
- 第二个参数是拷贝的目标数据库。
设置数据库在线
T-SQL命令
sp_rds_set_db_online
支持的实例
- 高可用版
- 基础版
描述
您将数据库设置为OFFLINE后,不能直接通过ALTER DATABASE设置为ONLINE,请使用本存储过程设置为ONLINE。
使用方法
1 | EXEC sp_rds_set_db_online 'db' |
参数是指定要被设置ONLINE的数据库。
数据库全局授权
T-SQL命令
sp_rds_set_all_db_privileges
支持的实例
- 高可用版
- 基础版
描述
使用方法
1 | sp_rds_set_all_db_privileges 'user' , 'db_owner' , 'db1,db2...' |
- 第一个参数是被授权的用户。
- 第二个参数是授予该用户的数据库角色。
- 第三个参数是数据库,可以指定一个或者多个,用逗号分隔,也可以不指定该参数(不指定表示全部用户数据库)。
删除数据库
T-SQL命令
sp_rds_drop_database
支持的实例
DROP DATABASE db
。
描述
删除实例中的数据库。删除时会将关联的对象移除掉,高可用版会自动将镜像移除,并且KILL在该数据库上的连接。
使用方法
1 | EXEC sp_rds_drop_database 'db' |
参数是要被删除的数据库。
设置更改跟踪
T-SQL命令
sp_rds_change_tracking
支持的实例
高可用版
描述
设置数据库的更改跟踪标记。
使用方法
1 | EXEC sp_rds_change_tracking 'db' , 1 |
- 第一个参数是数据库名称。
- 第二个参数表示是否启用。
- 1:启用。
- 0:禁用。
开启数据库变更捕获
T-SQL命令
sp_rds_cdc_enable_db
支持的实例
描述
启用数据库的数据变更捕获。
使用方法
1 2 3 | USE db GO sp_rds_cdc_enable_db |
关闭数据库变更捕获
T-SQL命令
sp_rds_cdc_disable_db
支持的实例
描述
关闭数据库的数据变更捕获。
使用方法
1 2 3 | USE db GO sp_rds_cdc_disable_db |
配置实例参数
T-SQL命令
sp_rds_configure
支持的实例
- 高可用版
- 基础版
描述
设置实例参数。若有主备实例,会自动同步。
- fill factor (%)
- max worker threads
- cost threshold for parallelism
- max degree of parallelism
- min server memory (MB)
- max server memory (MB)
- blocked process threshold (s)
使用方法
1 | EXEC sp_rds_configure 'max degree of parallelism' , 4 |
- 第一个参数是要设置的实例配置参数项。
- 第二个参数是该实例参数的值。
增加链接服务器
T-SQL命令
sp_rds_add_linked_server
支持的实例
- SQL Server 2012/2016标准版高可用系列
- SQL Server 2012/2016企业版高可用系列
描述
增加实例的链接服务器。支持分布式事务,实例主备自动创建,切换不需要再配置。
使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | DECLARE @linked_server_name sysname = N 'yangzhao_slb' , @data_source sysname = N '****.sqlserver.rds.aliyuncs.com,3888' , --style: 10.1 . 10.1 , 1433 @user_name sysname = N 'ay15' , @password nvarchar( 128 ) = N '******' , @source_user_name sysname = N 'test' , @source_password nvarchar( 128 ) = N '******' , @link_server_options xml = N' <rds_linked_server> <config option= "data access" > true </config> <config option= "rpc" > true </config> <config option= "rpc out" > true </config> </rds_linked_server> ' EXEC sp_rds_add_linked_server @linked_server_name , @data_source , @user_name , @password , @source_user_name , @source_password , @link_server_options |
设置跟踪标志
T-SQL命令
sp_rds_dbcc_trace
支持的实例
- 高可用版
- 基础版
描述
设置实例的跟踪标记。目前只支持部分跟踪标记,若有主备实例,会自动同步。
使用方法
1 | EXEC sp_rds_dbcc_trace '1222' , 1 / 0 |
- 第一个参数是跟踪标记。
- 第二个参数表示打开或关闭。
- 1:打开。
- 0:关闭。
更改数据库的名称
T-SQL命令
sp_rds_modify_db_name
支持的实例
- 高可用版
- 集群版
- 基础版
描述
更改数据库的名称。高可用版和集群版实例在更改名称后会自动重建主备关系,重建过程中会进行备份和还原,当数据库空间比较大时,需要注意当前实例的剩余可用空间。
使用方法
1 | EXEC sp_rds_modify_db_name 'db' , 'new_db' |
- 第一个参数是原数据库的名称。
- 第二个参数是新数据库的名称。