华为云云数据库rds使用DAS在RDS for SQL Server主备实例上分别创建和配置Agent Job和Dblink_云淘科技

操作背景

数据管理服务(Data Admin Service,简称DAS),用来登录和操作云上数据库的Web服务,提供数据库开发、运维、智能诊断一站式云上数据库管理平台,方便用户使用和运维华为云数据库。DAS目前支持SQL Server主库和备库切换操作,从而为云数据库 RDS for SQL Server实例的主库和备库同步操作提供了便捷。

登录DAS

登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
在“实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数据库登录界面。

您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“登录”,进入数据管理服务数据库登录界面。

正确输入数据库用户名和密码,单击“登录”,即可进入您的数据库并进行管理。

创建JOB同步备库

在主节点创建job。

在DAS管理页面,操作栏单击“SQL查询”,在msdb库下,执行创建job命令。

如果在主机通过其他方式已经有job创建不执行此步骤。

USE [msdb]
GO
DECLARE @jobId BINARY(16)
EXEC  msdb.dbo.sp_add_job @job_name=N'hwtest', 
                   @enabled=1, 
                   @notify_level_eventlog=0, 
                   @notify_level_email=2, 
                   @notify_level_page=2, 
                   @delete_level=0, 
                   @category_name=N'[Uncategorized (Local)]', 
                   @owner_login_name=N'rdsuser', @job_id = @jobId OUTPUT
select @jobId
GO
EXEC msdb.dbo.sp_add_jobserver @job_name=N'hwtest', @server_name = N'*******'
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_add_jobstep @job_name=N'hwtest', @step_name=N'select orders', 
                   @step_id=1, 
                   @cmdexec_success_code=0, 
                   @on_success_action=1, 
                   @on_fail_action=2, 
                   @retry_attempts=0, 
                   @retry_interval=0, 
                   @os_run_priority=0, @subsystem=N'TSQL', 
                   @command=N'select * from orders;', 
                   @database_name=N'test', 
                   @flags=0
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_update_job @job_name=N'hwtest', 
                   @enabled=1, 
                   @start_step_id=1, 
                   @notify_level_eventlog=0, 
                   @notify_level_email=2, 
                   @notify_level_page=2, 
                   @delete_level=0, 
                   @description=N'', 
                   @category_name=N'[Uncategorized (Local)]', 
                   @owner_login_name=N'zf1', 
                   @notify_email_operator_name=N'', 
                   @notify_page_operator_name=N''
GO

使用如下SQL查询job是否被创建。

use [msdb]

select * from msdb.dbo.sysjobs where name =’hwtest’;

切换到备库。

目前云数据库 RDS for SQL Server实例暂不支持主备库job同步,因此需要在备库同步执行job创建,同步job。在在主节点创建job中,我们处于主库,单击主库旁的“切换SQL执行点”,即可切换到备库。

使用在主节点创建job的语句在备库上创建job。

通过SQL Server Management Studio(简称:SSMS)工具导出之前创建的job到编辑窗,并复制到DAS的SQL查询窗口,执行sql即可。

若创建失败,建议先进行delete job操作后,再重新执行创建job。

图1 导出job

图2 在DAS管理界面备库界面执行创建job

使用如下SQL删除job命令。

USE [msdb]

GO

EXEC msdb.dbo.sp_delete_job @job_name=N’hwtest’, @delete_unused_schedule=1

GO

创建DBLink同步备库

通过DAS服务可以创建链接服务器,实现实例间的数据同步。

请参考RDS for SQL Server添加链接服务器章节检查分布式事务MSDTC是否配置。

参考如下代码在主库创建DBlink。

USE [master]

GO

EXEC master.dbo.sp_addlinkedserver @server = N’TEST’, @srvproduct=N’mytest’, @provider=N’SQLOLEDB’, @datasrc=N’abcd’

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N’TEST’, @locallogin = NULL , @useself = N’False’, @rmtuser = N’rdsuser’, @rmtpassword = N’********’

GO

创建成功后,可以链接到对应的实例或者其他数据库查看数据验证,如执行数据库查询:

SELECT name FROM [TEST].master.sys.databases ;

GO

图3 数据库查询

在备库创建DBLink。

在DAS管理界面,主库旁单击“切换SQL执行点”,同样执行创建DBLink的SQL。

如果当前实例与对接的数据库不是同一VPC,或者使用公网EIP开启分布式事务,则备库上暂时无法执行查询语句,仅此步骤用于同步DBLink配置,若实例进行主备倒换后,则可以正常使用DBLink。

父主题: RDS for SQL Server

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家