Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Relational Database Service/ Melhores práticas/ RDS for SQL Server/ Uso do DAS para criar e configurar o trabalho de agente e DBLink nos bancos de dados principal e secundário para instâncias do RDS for SQL Server
Atualizado em 2024-09-24 GMT+08:00

Uso do DAS para criar e configurar o trabalho de agente e DBLink nos bancos de dados principal e secundário para instâncias do RDS for SQL Server

Cenários

Data Admin Service (DAS) é uma plataforma completa de gestão de bancos de dados que permite gerenciar bancos de dados em um console da Web. Ele oferece desenvolvimento de banco de dados, O&M e diagnóstico inteligente, facilitando o uso e a manutenção do banco de dados. Atualmente, o DAS oferece suporte à alternância primária/em espera de bancos de dados RDS for SQL Server, facilitando a sincronização entre bancos de dados principal e secundário.

Fazer logon no DAS

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página e escolha Databases > Relational Database Service.
  4. Na página Instances, localize a instância de BD de destino e clique em Log In na coluna Operation.

    Como alternativa, clique no nome da instância na página Instances. Na página Basic Information exibida, clique em Log In no canto superior direito da página.

  5. Na página de logon exibida, digite o nome de usuário e a senha corretos e clique em Log In.

Criar um trabalho para sincronização de dados com o banco de dados secundário

  1. Crie um trabalho no banco de dados principal.

    No console do DAS, escolha SQL Operations > SQL Query na barra de menu superior. No banco de dados msdb, execute os seguintes comandos para criar um trabalho:

    Se um trabalho tiver sido criado no banco de dados principal, pule esta etapa.

    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

    Execute as seguintes instruções SQL para verificar se o trabalho foi criado:

    use [msdb]

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

  2. Alterne para o banco de dados secundário.

    Atualmente, o RDS for SQL Server não oferece suporte à sincronização de tarefas entre os bancos de dados principal e secundário. Portanto, você precisa criar um trabalho no banco de dados secundário e sincronizar o trabalho. Clique em Switch SQL Execution Node ao lado de Master para alternar para o banco de dados secundário.

  3. Execute os comandos em 1 para criar um trabalho no banco de dados secundário.

    Como alternativa, use o SQL Server Management Studio (SSMS) para exportar o trabalho criado para a janela do editor, copiar o trabalho para a janela de consulta SQL e executar os comandos em 1 para criar um trabalho no banco de dados secundário.

    Se a tarefa não for criada, é aconselhável excluir a tarefa primeiro e, em seguida, criar a tarefa novamente.

    Figura 1 Exportação de um trabalho
    Figura 2 Usar o console do DAS para criar um trabalho no banco de dados secundário

    Execute as seguintes instruções SQL para excluir o trabalho:

    USE [msdb]

    GO

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

    GO

Criar um DBLink para sincronização de dados com o banco de dados secundário

O DAS permite criar servidores vinculados para sincronizar dados entre bancos de dados principal e secundário.

  1. Crie um DBLink no banco de dados principal.

    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

    Depois que a criação for bem sucedida, a instância de BD ou os bancos de dados correspondentes poderão ser vinculados para exibir a verificação de dados. Execute as seguintes instruções para consultar bancos de dados:

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

    GO

    Figura 3 Consulta de banco de dados

  2. Crie um DBLink no banco de dados secundário.

    No console do DAS, clique em Switch SQL Execution Node ao lado de Master e execute a instrução SQL para criar um DBLink.

    Se a instância de BD atual e o banco de dados interconectado não estiverem na mesma VPC ou se as transações distribuídas estiverem habilitadas com um EIP vinculado à instância de BD primária, a instrução de consulta não poderá ser executada na instância de BD em espera. Esta etapa é usada apenas para sincronizar a configuração do DBLink. Após uma alternância ou failover, o DBLink pode ser usado.