镜像数据库定义

本文对镜像数据库项的定义结构进行了细分。

定义部件

下表列出了镜像的数据库定义部分。

定义部件路径 类型 必选 DESCRIPTION
mirroring.json MirroredDatabase 描述镜像数据库项
.platform PlatformDetails 描述项的元数据

镜像数据库项的定义部分构造如下:

MirroredDatabase

描述镜像数据库项。

名称 类型 必选 DESCRIPTION
source SourceProperties 描述源类型属性。
target 目标属性 描述目标类型属性。
mountedTables MountedTable[] 列出要从源数据库镜像的表。 (如果未指定此属性,则会镜像所有表。新表也将自动添加到复制中。

SourceProperties

描述要镜像的源数据库。

名称 类型 必选 DESCRIPTION
type SourceType 源数据库的类型。
typeProperties SourceTypeProperties 源连接的属性,例如connectiondatabase,等等。

来源类型

源类型的最新值(可能会随着时间的推移添加其他源类型)。

名称 DESCRIPTION
Snowflake 表示 Snowflake 源。
AzureSqlDatabase 表示 Azure SQL 数据库源。
AzureSqlMI 表示 Azure SQL 托管实例源。
AzurePostgreSql 表示 Azure PostgreSQL 源。
CosmosDb 表示 Cosmos DB 源。
SqlServer2025 表示 SQL Server 2025 源。
MSSQL 表示Microsoft SQL Server 2016-2022 源。
GenericMirror 表示打开的镜像源。

SourceTypeProperties

描述源类型属性。

名称 类型 必选 DESCRIPTION
connection Guid 源数据库的连接标识符。 GenericMirror源类型不需要。
database 字符串 源数据库的名称。 对于、AzureSqlDatabaseAzureSqlMIAzurePostgreSql源类型,不是必需的GenericMirror

目标属性

描述目标类型属性。

名称 类型 必选 DESCRIPTION
type 字符串 目标的类型(目前仅 MountedRelationalDatabase 受支持)。
typeProperties TargetTypeProperties 目标的属性,例如 defaultSchemaformat

TargetType属性

描述目标的属性。

名称 类型 必选 DESCRIPTION
defaultSchema 字符串 目标的默认架构。
format 字符串 目标的格式(目前仅 Delta 受支持)。

MountedTable

描述要从源数据库镜像的表。

名称 类型 必选 DESCRIPTION
source MountedTableSourceProperties 源表的属性,例如 schemaNametableName

MountedTableSourceProperties

描述源表的属性。

名称 类型 必选 DESCRIPTION
typeProperties MountedTableSourceTypeProperties 键入源表的属性。

MountedTableSourceTypeProperties

描述源表的类型属性。

名称 类型 必选 DESCRIPTION
schemaName 字符串 源表的架构名称。
tableName 字符串 源表的表名。

mirroring.json 示例

若要了解如何为各种源创建描述镜像数据库项的 JSON 文件,请参阅 各种源的镜像数据库定义

{
    "properties": {
        "source": {
            "type": "Snowflake",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "TESTDB"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "dbo",
                "format": "Delta"
            }
        },
        "mountedTables": [
            {
                "source": {
                    "typeProperties": {
                        "schemaName": "dbo",
                        "tableName": "testtable"
                    }
                }
            }
        ]
    }
}

定义示例

下面是 Base64 编码的镜像数据库定义的示例,其中示例的内容mirroring.json在 Base64 中编码,并放置在payload路径设置为mirroring.json

{
  "displayName": "myMirroredDatabase",
  "type": "MirroredDatabase",
  "description": "Create Mirrored Database item with definition",
  "definition": {
    "parts": [
      {
        "path": "mirroring.json",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      },
      {
        "path": ".platform",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
      }
    ]
  }
}