Abh*_*eet 5 azure azure-data-factory azure-sql-database databricks azure-synapse
我一直在尝试有条件/选择性地将Azure 上的 SQL 表中的数百万条记录同步到 Azure 中的另一个 SQL 数据库。
有没有办法将 Azure 数据同步或复制配置为不同步表的所有记录,而是仅同步 where 子句中指定的几行?
或者有没有办法将 SQL View 生成的数据同步到另一个数据库表中?
PS 我做了研究,默认情况下它在 Azure 门户中不可用。所以期待专家对此的意见。感谢您尝试提供帮助!
在 Azure 中同步 SQL 数据库的常见方法是激活复制。这将使数据库保持同步,以实现高可用性或冗余。对于您的用例,这不是一个选项,因为您只想同步特定行。
这里推荐使用的工具是 Azure 数据工厂,它具有内置的复制活动。这允许您将数据从源复制到接收器。在您的情况下,源和接收器都是 SQL 数据库。要开始复制活动,请按照本教程中的说明进行操作。您还应该利用滚动窗口触发器以特定的时间间隔运行管道。
下面您将找到一个非常简单的复制活动示例,以供您了解。该sqlReaderQuery属性为您提供了很大的灵活性,因为它使您能够选择要同步的特定数据。要增量同步数据,您必须利用数据集中的现有字段,例如LastUpdated. 这样您就可以有条件地加载上次管道运行后创建的数据。
"activities":[
{
"name": "CopyFromSQLServer",
"type": "Copy",
"inputs": [
{
"referenceName": "<SQL Server input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
"sqlReaderQuery": "SELECT * FROM Customers WHERE LastUpdated BETWEEN @{pipeline().parameters.LastModified_From} AND @{pipeline().parameters.LastModified_To}"
},
"sink": {
"type": "SqlSink"
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
这个想法基于这个azure 教程,该教程使用 LastModifiedDate 在两个存储容器之间复制 blob 文件。在此GitHub 存储库中,您将找到 terraform 实现。
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |