SSIS 中的数据探查任务用于计算各种探查,帮助我们熟悉数据源并识别数据中必须修复的问题(如果有)。我们通过一个示例向您展示如何使用此 SSIS 任务探查源数据。
SSIS 中的数据探查任务仅适用于 SQL Server。因此,数据探查任务不支持文件系统或任何第三方的数据。
SSIS 中的数据探查任务示例
将 SSIS 数据探查任务拖放到“控制流”区域,如下图所示。

双击它将打开“数据探查任务编辑器”进行配置。
- 超时(秒):请以秒为单位指定连接超时。如果连接时间超过此时间,连接将失败。
- OverwriteDetination(覆盖目标):此 SSIS 数据探查任务属性有两个选项:True(真)和 False(假)。如果我们将此属性设置为 true,则文件系统任务将覆盖目标路径中现有的文件。
- 打开探查查看器:运行集成服务包后,此按钮将显示探查数据。

DestinationType(目标类型):此 SSIS 数据探查任务属性有两个选项:文件连接和变量。如果我们将此变量设置为 true,则目标数据将存储在变量中。如果将其设置为文件连接,请使用文件连接管理器手动选择目标文件。
当您将目标类型设置为文件连接时,我们必须使用目标属性配置目标连接。如果您已创建 文件连接管理器,请从下拉列表中选择它。
如果您之前没有创建任何连接管理器,您必须通过选择“新建连接...”来创建一个。

单击“新建连接...”选项后,“文件连接管理器编辑器”将打开以配置目标连接。
如果存在任何现有的 SSIS 数据探查任务文件,请从“使用类型”中选择“现有文件”选项。否则,请选择“创建文件”选项,然后单击“浏览”按钮从文件系统中选择现有文件或创建新文件。

从上面的屏幕截图中,您可以看到我们在目标文件夹中创建了 ProductsProfiling.xml 文件。

单击“确定”完成源连接的配置。如果您理解有困难,请参考文件连接管理器文章。

数据探查任务计算出八种不同的探查。
下表将向您展示 SSIS 数据探查任务中可用探查的列表和说明。
| SSIS 数据探查任务 | 描述 |
|---|---|
| 候选键探查 | 此数据探查任务将报告列中 Null 值的百分比。这有助于检查哪个列包含最多的 Null 值(分析数据)。 |
| 列长度分布 | 报告依赖列中的值在多大程度上依赖于决定列中的值(可以是一个或一组列)。这对于确定列数据是否有效非常有用。例如,如果您探查包含印度邮政编码的列与包含印度州名的列之间的依赖关系。如果您的依赖关系发现同一邮政编码有多个州名,则您的数据无效。 |
| 列 Null 比率 | 此数据探查任务将报告列中 Null 值的百分比。有助于检查哪个列包含最多的 Null 值(分析数据)。 |
| 列模式 | 它将报告一组 RegExp(正则表达式),这些正则表达式覆盖了字符串列中指定百分比的值。 |
| 列统计信息 | 此 SSIS 数据探查任务探查报告统计信息,例如每个数值列的最小值、最大值、平均值和标准差,以及日期时间列的最小值和最大值。有助于检查日期列是否包含正确的数据。 |
| 列值分布 | 报告我们选定列中所有可用的不同值,并说明该值占行的百分比。这对于确定列数据是否有效至关重要。例如,如果您的列应存储美国各州,并且您发现超过 50 个州名,则您的数据是错误的。 |
| 函数依赖 | 报告依赖列中的值在多大程度上依赖于决定列中的值(可以是一个或一组列)。这对于确定列数据是否有效非常有用。例如,如果您探查包含印度邮政编码的列与包含印度州名的列之间的依赖关系。如果您的依赖关系发现同一邮政编码有多个州名,则您的数据无效。 |
| 值包含 | 此探查将计算两列或两组列之间的重叠值。首先,识别该列是否适合充当两列之间的外键。 |

请转到 SSIS 数据探查任务的“常规”选项卡。接下来,单击“快速探查”按钮创建一个新的。

单击该按钮后,将打开一个名为“单个表窗体”的新窗口。单击“新建”按钮并打开另一个连接管理器窗口以选择提供程序、服务器名称和数据库名称。如果我们之前创建了任何连接管理器,请从下拉列表中选择它们。
在这里,我们选择已创建的 ADO.NET 连接。如果您在理解这些步骤时遇到困难,请参考 ADO.NET 连接管理器教程。在这里,我们选择 SQL DimProduct 表。

上面的屏幕截图显示我们使用本地主机 Windows 帐户作为服务器名称。接下来,[AdventureWorksDW2014] 是数据库名称。
在实际操作中,您必须选择“使用 SQL Server 身份验证”选项,并提供管理员提供给您的有效凭据。在这里,我们选择所有可用选项。

单击“确定”按钮后,“SSIS 数据探查任务编辑器”将导航到“探查请求”选项卡。

单击“确定”完成配置并关闭“数据探查任务编辑器”。让我们运行包看看。

如上屏幕截图所示,SSIS 数据探查任务包执行成功。我们需要数据探查查看器来查看任务生成的探查。
请使用搜索栏输入“数据探查查看器”或导航到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft SQL Server 2014\Integration Services。双击它将打开以下窗口。
要查看此内容,请单击“打开”文件夹。选择数据探查任务生成的 XML 文件。

下面的屏幕截图显示了我们在配置 SSIS 数据探查任务包时选择的列表。
候选键探查:这将报告一个列或一组列是否为选定数据的近似键或键。在我们选择的表中,(DimProducts) Product key 是键列。其键强度为 100%,这意味着数据是有效的。

列长度分布:此 SSIS 数据探查任务报告包含两个部分
- 列长度分布:报告将显示我们选定表中每个列的最小和最大长度。
- 长度分布:这将报告我们选定列中所有不同的字符串长度以及表示相同长度的行的百分比。
在这里,我们选择了阿拉伯语描述列。您可以看到它具有 17、18、19... 的不同长度,而 19、22 的长度占有最高的百分比。这意味着在传输数据时,我们可以将目标字符串长度设置为 25(而不是 255)。

数据探查任务列 Null 比率探查:这将报告列中 Null 值的百分比。下图显示“结束日期”的 NULL 百分比最高,“颜色”、“制造天数”、“英语和法语产品名称”、“产品键”、“产品备用键”、“照片”和“成品标志”没有 Null。

列统计信息探查:这将报告统计信息,例如每个数值列的最小值、最大值、平均值和标准差。以及日期时间列的最小值和最大值。

列值分布:此 SSIS 数据探查任务报告包含两个部分
- 列值分布:报告显示我们选定表中每列的不同值的数量。
- 常用值分布:它将报告我们选定列中的所有不同值以及表示相同值的行的百分比。
从下面的屏幕截图中,您可以看到我们选择了“颜色”列,该列具有 10 个不同的值。NA 行占有最高的百分比,其次是黑色。

函数依赖:这将报告依赖列中的值在多大程度上依赖于决定列中的值(可以是一个或一组列)。

评论已关闭。