证书配置数据库镜像 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' 语句后尽快添加见证服务器。注意,必须首先为出站连接和入站连接配置见证服务器。

目录
相关文章
|
30天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
16 1
|
30天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
13 1
|
30天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
11 0
|
30天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
10 0
|
2月前
|
网络协议 关系型数据库 Linux
Linux系统中如何开启和配置OpenGauss数据库的远程连接
openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性.
|
3月前
|
SQL 数据库 HIVE
记录hive数据库远程访问配置问题
记录hive数据库远程访问配置问题
114 0
|
4月前
|
数据安全/隐私保护 时序数据库
InfluxData【部署 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享
InfluxData【部署 03】时序数据库 InfluxDB 离线安装配置使用(下载+安装+端口绑定+管理员用户创建+开启密码认证+开机自启配置)完整流程实例分享
140 0
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的智慧校园答题考试系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的智慧校园答题考试系统(源码+数据库+程序配置说明书+程序使用说明书)
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
|
2月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
160 2

热门文章

最新文章