凯发k8国际娱乐官网入口-k8凯发> 云数据库 rds> > > 使用das在rds for sql server主备实例上分别创建和配置agent job和dblink
更新时间:2023-12-18 gmt 08:00

使用das在rds for sql server主备实例上分别创建和配置agent job和dblink-凯发k8国际娱乐官网入口

操作背景

数据管理服务(data admin service,简称das),用来登录和操作云上数据库的web服务,提供数据库开发、运维、智能诊断一站式云上数据库管理平台,方便用户使用和运维华为云数据库。das目前支持sql server主库和备库切换操作,从而为云数据库 rds for sql server实例的主库和备库同步操作提供了便捷。

登录das

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

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

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

创建job同步备库

  1. 在主节点创建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';

  2. 切换到备库。

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

  3. 使用在主节点创建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服务可以创建链接服务器,实现实例间的数据同步。

请参考章节检查分布式事务msdtc是否配置。

  1. 参考如下代码在主库创建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 数据库查询
  2. 在备库创建dblink。

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

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

分享:
网站地图