天天看点

如何迁移RDS中的加密存储过程

1. 背景介绍

目前,迁移RDS SQL Server中的数据到其他RDS SQL Server时,使用DTS数据传输服务进行迁,无法将加密存储过程顺利迁出。加密的存储过程,无法script出其定义。

如何迁移RDS中的加密存储过程

备注:

当您考虑加密数据库存储过程之前,建议先做一个备份。

2. 查看SQL Server中加密存储过程和函数的方法

1)在存储过程所在的数据库下,创建存储过程sp_decrypt (出自微软BI开拓者www.windbi.com)。 

2) DAC连接SQL Server

确认SQL Server实例是否支持DAC连接:

sqlcmd方式连接实例 :

sqlcmd -A -S servername  -E

3)切换到用户数据库

Use DBNAME

4)执行解密存储过程

sp_decrypt  EncryptSP

Go

显示结果

如何迁移RDS中的加密存储过程

3. 迁移RDS中的存储过程到本地自建库和其他RDS实例

RDS上面不支持DAC连接,需要把备份集下载到本地还原,然后使用2中的方法,导出加密存储过程的定义。

若是需要RDS之间迁移加密存储过程,RDS SQL Server 2008 R2之间可以还原备份集,其他版本的RDS SQL Server需要先将备份集还原到本地自建库,然后使用2中方法解密存储过程,再将存储过程定义导入目的RDS中。

RDS SQL Server 各个版本,可以在RDS控制台,备份恢复中下载备份集。