gpt4 book ai didi

sql-server - 如何在Azure中备份和维护SQL Server表?

转载 作者:行者123 更新时间:2023-12-03 03:27:07 24 4
gpt4 key购买 nike

我在 Azure ADF 中创建了一个管道,它执行 ETL 以在 Azure 存储容器中生成 15GB 干净文件“Final_Data_2023.csv”,并且该干净文件将被复制到 SQL Server 表 dbo.Final_Table 中。

此过程每个月都会发生,下个月我们将再次准备 Final_Data_2023.csv 干净文件。我需要截断 dbo.Final_Table 并再次将新数据插入其中。但我担心我的新数据具有完全错误的值,为了快速修复,我需要将旧的 Final_Data_2023.csv 放在表 dbo.Final_Table 中。由于我截断了表中的所有数据,因此无法将其恢复。

我应该如何设计我的架构,以便我可以快速访问或维护上个月的表并在出现问题时恢复它?

这不一定是一个小解决方法。

最佳答案

Azure存储容器主要用于存储海量数据。因此,您可以设计一个管道将所有备份数据存储在容器中,并仅将最新文件复制到 SQL Server 表中。

方法:

  • 您可以在复制到 Azure 存储容器时存储文件名和日期。
  • 将同一文件从容器复制到数据库。

以下是详细步骤。

  • 使用设置变量事件将文件名和当前日期存储在变量中。@concat(substring(utcnow(),0,10),'_filename.csv') enter image description here

  • 添加复制事件以将数据从 SQL Server 复制到存储容器。

  • 在复制事件中,您可以获取源数据集,并在接收数据集中创建文件名参数。

enter image description here

  • 在文件路径中添加参数@dataset().fileName,如下图所示。 enter image description here

  • 在Sink数据集中,将变量值传递给数据集参数。

enter image description here

  • 添加另一个复制事件以从容器复制到数据库,并保留复制事件 1 中使用的相同源数据集,并在数据集参数中传递变量。

enter image description here

  • 在接收器数据集中,提供 SQL Server 的数据集。

通过这种方式,您可以将备份数据存储在azure容器中,并将新的干净文件复制到数据库中。如果需要回滚到以前版本的文件,我们可以从容器中复制这些数据。

关于sql-server - 如何在Azure中备份和维护SQL Server表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75444294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com