- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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 表中。
方法:
以下是详细步骤。
使用设置变量事件将文件名和当前日期存储在变量中。@concat(substring(utcnow(),0,10),'_filename.csv')
添加复制事件以将数据从 SQL Server 复制到存储容器。
在复制事件中,您可以获取源数据集,并在接收数据集中创建文件名参数。
在文件路径中添加参数@dataset().fileName
,如下图所示。
在Sink数据集中,将变量值传递给数据集参数。
通过这种方式,您可以将备份数据存储在azure容器中,并将新的干净文件复制到数据库中。如果需要回滚到以前版本的文件,我们可以从容器中复制这些数据。
关于sql-server - 如何在Azure中备份和维护SQL Server表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75444294/
我是一名优秀的程序员,十分优秀!