备份迁移 / EXEC master.dbo.spaddlinkedsrvlogin @rmtsrvnameN'DRSTESTREMOTE',@useselfN'False',@localloginNULL,@rmtuserN'sa',@rmtpassword' ' GO 以上脚本为范例,创建的脚本可能包含大量系统默认配置项,但是每个DBLink仅需保留以下两个关键脚本即可执行成功,同时需要注意重新输入账号连接密码。 Agent JOB Agent JOB又名SQL Server代理服务,可以方便用户快速的在实例上创建定时任务,帮助用户进行日常运维和数据处理工作,用户在本地的JOB需要手动进行脚本迁移。 步骤 4 通过微软提供的官方Microsoft SQL Server Management Studio客户端工具连接本地实例与云上实例,同时在“SQL Server代理 > 作业”下找到当前实例上的所有JOB任务。 图 查看作业 步骤 5 选择SQL Server代理下的作业,然后按F7,可以在对象资源管理器中看到所有的作业(JOB),全部选中后创建脚本到新窗口。 图 创建脚本 步骤 6 复制新窗口中的TSQL创建脚本到新实例上,然后注意修改如下几个关键项,以保障你的创建成功。 注意修改每个JOB上的Ower账号: 例如: @ownerloginnameN'rdsuser' 注意修改每个JOB上的实例名称: 例如: @serverN'实例IP' @servername N'实例IP' 新建JOB的Owner账号十分重要,在RDS SQL Server上,仅有该JOB的Owner可以看到实例上自己的JOB,别的Login账号是看不到无法操作的,所以建议所有的JOB Owner尽量是同一个账号方便管理。 关键配置 用户将数据库还原到RDS for SQL Server实例上之后,本地的一些重要配置项也需要进行同步确认,避免影响业务的正常使用。 1. tempdb:临时数据库的文件配置需要进行同步。 推荐配置为8个临时文件,注意路径一定要确保在D:RDSDBDATATemp 通过在目标数据库端执行如下脚本添加临时数据库的文件配置: USE [master] GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb1', FILENAME N'D:RDSDBDATATemptempdb1.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb2', FILENAME N'D:RDSDBDATATemptempdb2.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb3', FILENAME N'D:RDSDBDATATemptempdb3.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb4', FILENAME N'D:RDSDBDATATemptempdb4.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb5', FILENAME N'D:RDSDBDATATemptempdb5.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb6', FILENAME N'D:RDSDBDATATemptempdb6.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO ALTER DATABASE [tempdb] ADD FILE ( NAME N'tempdb7', FILENAME N'D:RDSDBDATATemptempdb7.ndf' , SIZE 65536KB , FILEGROWTH 65536KB ) GO 图 检查临时文件 2. 数据库隔离级别:请确认原实例上数据库的隔离级别是否开启,并同步到RDS SQL Server实例,快照隔离参数有2个,分别是: − 读提交快照(Is Read Committed Snapshot On) − 允许快照隔离(Allow Snapshot Isolation) 若原实例上数据库的隔离级别是开启的,您可以通过在目标数据库端执行如下脚本开启数据库的隔离级别: USE [DBName] GO ALTER DATABASE [DBName] SET READCOMMITTEDSNAPSHOT ON WITH NOWAIT GO ALTER DATABASE [DBName] SET ALLOWSNAPSHOTISOLATION ON GO 3. 实例最大并行度:实例最大并行度在RDS for SQL Server实例上默认设置为0,用户也可以根据自己本地原来的设置项进行同步设置,避免不同环境下业务场景出现异常。 右击本地实例选择属性,在服务器属性弹出框中选择高级,然后在右侧找到最大并行度(max degree of parallelism)设置项,确认本地实例设置值,并同步在目标RDS for SQL Server实例管理的参数组中进行修改。 图 查看本地实例最大并行度值 登录本云实例控制台,在实例管理页,单击目标实例名称,进入基本信息页签,切换至“参数修改”,搜索最大并行度(max degree of parallelism)并进行修改。 图 修改目标RDS for SQL Server实例的最大并行度 4. 迁移上云的数据库恢复模式是否为完整(FULL)模式,如果不是需要进行修改。 右击数据库选择属性,在弹出数据库属性框中选择选项,并在右侧确认该数据库恢复模式为完整(FULL),保证该数据库高可用和备份策略可执行。 图 检查数据库恢复模式