# Microsoft SQL Server (基于 Microsoft CDC)

本部分介绍如何在数据任务中设置 Microsoft SQL Server (Microsoft CDC) 源。在启动数据任务之前，请确保您已满足 [先决条件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/Prereqs-sql-server-cdc.htm)、设置了 [所需的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Azure-MSCDC-Source/azremscdc-SQLServerDBSource-security.htm) 并熟悉了 [限制和注意事项](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/azuremscdc-source-limitations.htm)。

当从 Microsoft SQL Server (基于 Microsoft CDC) 源 移动 数据时，将从 Microsoft 变更表（而不是 SQL Server 事务日志）中捕获变更。无需依赖事务日志，从而最大限度地降低了由于联机事务日志保留时间以及备份事务日志无法访问而导致的数据丢失风险。

信息注释也支持来自地理复制数据库的 移动。有关地理复制的更多信息，请参阅 https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-configure-portal?view=azuresql&tabs=portal

## 设置连接属性

本部分介绍可用的连接属性。除非另有说明，否则所有属性都是必填的。

要打开连接器，请执行以下操作：

1. 在 连接 中，单击 创建连接。

2. 选择 Microsoft SQL Server (基于 Microsoft CDC) 源连接器，然后提供以下设置：

### 数据源

* 数据网关

  选择要用于移动数据的 数据移动网关，或选择 无。

  有关 数据移动网关 的信息，请参阅 [Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 云提供商：选择以下之一：

  * 如果您的 SQL Server 是本地部署或 Amazon RDS for SQL Server，请选择 无

  * 如果您的数据源是 Azure (Azure SQL Managed Instance 或 Azure SQL Database)，请选择 Microsoft Azure

  * 如果您的数据源是 Google Cloud SQL for SQL Server，请选择 Google Cloud。

    信息注释如果使用的是 数据移动网关，则 Google Cloud 需要 2025.5.22 或更高版本。

* 服务器：安装了 Microsoft Azure SQL Managed Instance 数据库的计算机的主机名或 IP 地址。

  信息注释

  * 要覆盖默认端口，请将端口添加到服务器名称中，并用逗号隔开。例如，如果服务器名称为 `myserver.company.local` 且端口为 `3333`，则服务器名称应为：

    `myserver.company.local,3333`

### 账户属性

* 用户名 和 密码

  有权访问 Azure SQL Managed Instance 数据库的用户的用户名和密码。

* SSH 隧道

  信息注释

  * 只有当数据网关集设置为无时，该选项才可用。

  * 要使用该选项，首先需要至少定义一个 SSH 隧道连接器。有关更多信息，请参阅[SSH tunnel](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SSH-tunnel.htm)。

  如果要通过 SSH 隧道连接到数据源，请选择此项，然后从 SSH 连接下拉列表中选择 SSH 隧道连接器。

### 数据库属性

* 加密（信任服务器证书）：选择此项以在数据库服务器与 数据移动网关 之间，或者在 数据网关 设置为 无 时数据库服务器与 Qlik Cloud 之间加密通信。选中后，将自动信任服务器证书。

  * 证书中的主机名：要仅在服务器证书的主机名与此字段中指定的值匹配时才信任该证书，请输入服务器证书的主机名。

* 数据库名称：您可以使用两种方法来指定数据库：

  * 方法 1 - 从列表中选择：此方法要求用户已在 [master 数据库上创建](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/Prereqs-sql-server-cdc.htm#Database)。单击 加载数据库，然后选择一个数据库。
  * 方法 2 - 手动：选择 手动输入数据库名称，然后输入数据库名称。

### CDC 属性

在所有捕获的表上启用 MS-CDC - 选择此选项可为所有选定的源表（在所有列上）自动启用 MS-CDC。选择此选项后，将在数据库的默认文件组中创建 MS-CDC 表。

警告注释在所有捕获的表上启用 MS-CDC 要求用户是 db\_owner 数据库角色的成员。

### DDL 属性

信息注释复制到云存储目标时不支持这些选项。

* 捕获 DDL 事件：选择此选项后，将执行以下操作：
  * 为了便于捕获 DDL 事件，在任务启动时，数据移动网关 会在 Microsoft SQL Server 数据库中创建触发器和其他操作项目。您稍后可以按照下文 从源数据库中删除项目 中的说明删除这些项目。
  * 捕获流式传输的 DDL 事件。
* 在架构中创建 DDL 项目：将在其中创建 DDL 数据库项目的架构。默认值为 dbo。

#### 从源数据库中删除项目

为了捕获 DDL，在任务启动时，数据移动网关 会在 Microsoft SQL Server 数据库中创建各种项目。如果您决定在将来的某个时候删除该任务，则可以删除这些项目。

要删除这些项目，请按以下顺序执行以下语句，其中 dbo 是创建这些项目的默认架构：

DROP TRIGGER [attrep\_mscdc\_ddl\_catcher] ON DATABASE

DROP TABLE [dbo].[attrep\_mscdc\_ddl\_history]

### 内部属性

内部属性用于特殊用例，因此不会在对话框中公开。只有在 Qlik 支持部门的指示下，您才应该使用它们。

使用字段右侧的 the 新建 icon 和 the 取消 icon 按钮可以根据需要添加或删除特性。

### 名称

源连接的显示名称。