0

我必须实现一个加载三个不同数据库、转换数据并将其结果加载到新 SQL 数据库中的进程。

我想到了 SSIS(SQL 服务器的集成服务)。这对我来说是完美的,但是:这个过程将在 6-8 个月内每晚运行。它必须只导入更改。

而且我不知道我是否可以使用 SSIS 做到这一点?

有大量数据要导入,所以我们希望这些数据增量更新(基于源数据库上的“ModifiedAt”列)。

所以:

  1. 这可能吗(增量导入),如何?
  2. 如果是:每天安排它的最佳方式是什么?
  3. 如果不是:您能看到另一种方法,我不必从头开始编写所有程序吗?
4

1 回答 1

2

是的,@andyLeonard 有一个名为“集成服务的阶梯”的优秀系列我经常在答案中引用这一系列文章,因为它比尝试将 SSIS 标记的累积智慧串联在一个答案中要简洁得多。在该系列文章中,Andy 将向您介绍增量负载模式的各种不同。我认为这将使您清楚地了解如何构建导入。

您可以使用您的组织当前使用的任何计划工具来计划 SSIS 包。

  • SQL 代理 - SQL Server 的内置调度工具是组织的常用选项。很有可能您的 DBA 已经在使用它来处理诸如索引重建/重组等事情的调度。使用代理的一个优点是对于新手来说,它有一个专门用于运行 SSIS 包的步骤。并不是说启动 SSIS 包有那么复杂,但每一点都有帮助。

  • Windows 调度程序 - Windows 内置了一个可服务的调度程序(名字让我难以理解,at也许吧?)。如果您使用这种方法,我可能会建议您制作一个简单的批处理脚本来启动包,这样您可以确保手动启动包与调度程序运行的相同。

  • Tidal我在哪里,我们使用 Tidal 来处理我们所有的工作调度。它并不便宜,但在我们试图跨大型机、unix 和 windows 环境协调活动的环境中,它是蜜蜂的膝盖。界面是一个糟糕透顶的java东西,我很想看到它在火灾中死去几次,但不要让这分散你对工具功能的注意力。

于 2012-12-13T14:05:50.597 回答