证书配置数据库镜像 demo from msdn

简介: 下面的示例演示必须对驻留在 HOST_A 上的一个伙伴执行哪些操作。在此示例中,两个伙伴是三个计算机系统上的默认服务器实例。两个服务器实例在非信任的 Windows 域中运行,因此需要基于证书的身份验证。

下面的示例演示必须对驻留在 HOST_A 上的一个伙伴执行哪些操作。在此示例中,两个伙伴是三个计算机系统上的默认服务器实例。两个服务器实例在非信任的 Windows 域中运行,因此需要基于证书的身份验证。

HOST_A 担当初始主体角色,HOST_B 担当镜像角色。

使用证书设置数据库镜像涉及四个常规阶段,本示例演示其中的三个阶段:1、2、4。这些阶段如下:

  1. 配置出站连接

    本示例显示了下列操作的步骤:

    1. 为出站连接配置 Host_A。

    2. 为出站连接配置 Host_B。

    有关设置数据库镜像的这一阶段的信息,请参阅如何允许数据库镜像使用证书进行出站连接 (Transact-SQL)

  2. 配置入站连接

    本示例显示了下列操作的步骤:

    1. 为入站连接配置 Host_A。

    2. 为入站连接配置 Host_B。

    有关设置数据库镜像的这一阶段的信息,请参阅如何允许数据库镜像将证书用于入站连接 (Transact-SQL)

  3. 创建镜像数据库

    有关如何创建镜像数据库的信息,请参阅如何为镜像准备镜像数据库 (Transact-SQL)

  4. 配置镜像伙伴

配置出站连接

为出站连接配置 Host_A

  1. 在 master 数据库中,创建数据库主密钥(如果需要)。

    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password!>';
    GO
    
  2. 为此服务器实例制作一个证书。

    USE master;
    CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'HOST_A certificate';
    GO
    
  3. 使用该证书为服务器实例创建一个镜像端点。

    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_A_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
    
  4. 备份 HOST_A 证书,并将其复制到其他系统,即 HOST_B。

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';
    GO
    
  5. 使用任一安全的复制方法,将 C:\HOST_A_cert.cer 复制到 HOST_B。

为出站连接配置 Host_B

  1. 在 master 数据库中,创建数据库主密钥(如果需要)。

    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
    GO
    
  2. 为 HOST_B 服务器实例制作一个证书。

    CREATE CERTIFICATE HOST_B_cert 
       WITH SUBJECT = 'HOST_B certificate for database mirroring';
    GO
    
  3. 在 HOST_B 中为服务器实例创建一个镜像端点。

    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_B_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
    
  4. 备份 HOST_B 证书。

    BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';
    GO 
    
  5. 使用任一安全的复制方法,将 C:\HOST_B_cert.cer 复制到 HOST_A。

有关详细信息,请参阅如何允许数据库镜像使用证书进行出站连接 (Transact-SQL)

[返回页首]

配置入站连接

为入站连接配置 Host_A

  1. 在 HOST_A 上为 HOST_B 创建一个登录名。

    USE master;
    CREATE LOGIN HOST_B_login WITH PASSWORD = '1Sample_Strong_Password!@#';
    GO
    
  2. 创建一个使用该登录名的用户。

    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
    GO
    
  3. 使证书与该用户关联。

    CREATE CERTIFICATE HOST_B_cert
       AUTHORIZATION HOST_B_user
       FROM FILE = 'C:\HOST_B_cert.cer'
    GO
    
  4. 授予对远程镜像端点的登录名的 CONNECT 权限。

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
    GO
    

为入站连接配置 Host_B

  1. 在 HOST_B 上为 HOST_A 创建一个登录名。

    USE master;
    CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2';
    GO
    
  2. 创建一个使用该登录名的用户。

    CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
    GO
    
  3. 使证书与该用户关联。

    CREATE CERTIFICATE HOST_A_cert
       AUTHORIZATION HOST_A_user
       FROM FILE = 'C:\HOST_A_cert.cer'
    GO
    
  4. 授予对远程镜像端点的登录名的 CONNECT 权限。

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
    GO
    
重要说明 重要提示

如果打算在具有自动故障转移功能的高安全性模式下运行,则必须重复相同的设置步骤为出站连接和入站连接配置见证服务器。设置入站连接时,如果涉及到见证服务器,则需要为两个伙伴的见证服务器和见证服务器的两个伙伴设置登录名和用户。

有关详细信息,请参阅如何允许数据库镜像将证书用于入站连接 (Transact-SQL)

[返回页首]

创建镜像数据库

有关如何创建镜像数据库的信息,请参阅如何为镜像准备镜像数据库 (Transact-SQL)

配置镜像伙伴

  1. 在 HOST_B 的镜像服务器实例上,将 HOST_A 上的服务器实例设置为伙伴(使其成为初始主体服务器实例)。将TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024 替换为有效的网络地址。有关详细信息,请参阅指定服务器网络地址(数据库镜像)

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE AdventureWorks2008R2 
        SET PARTNER = 'TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024';
    GO
    
  2. 在 HOST_A 的主体服务器实例上,将 HOST_B 上的服务器实例设置为伙伴(使其成为初始镜像服务器实例)。将TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024 替换为有效的网络地址。

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE AdventureWorks2008R2 
        SET PARTNER = 'TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024';
    GO
    
  3. 此示例假设会话将在高性能模式下运行。若要在高性能模式下配置此会话,在主体服务器实例上(位于 HOST_A 上),将事务安全性设置为 OFF。

    --Change to high-performance mode by turning off transacton safety.
    ALTER DATABASE AdventureWorks2008R2 
        SET PARTNER SAFETY OFF;
    GO
    
    注意 注意

    如果打算在具有自动故障转移功能的高安全性模式下运行,则将事务安全性设置为 FULL(默认设置),并在执行第二个 SET PARTNER 'partner_server' 语句后尽快添加见证服务器。注意,必须首先为出站连接和入站连接配置见证服务器。

目录
相关文章
|
22天前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
14天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
42 9
|
14天前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
29 3
|
18天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
20天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
43 2
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
64 2
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
38 1
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
64 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
23天前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
49 0
|
1月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
234 0