症状
假设你使用 Microsoft SQL Server 2012 Integration Services (SSIS 2012)或 SQL Server 2014 Integration Services (SSIS 2014)。 如果你拥有配置为要验证的OPERATIONTYPE属性的 SSIS XML 任务,则 SSIS xml 验证器仅输出true或false值。 此行为是在 SQL Server Integration Services 中设计的。但是,当验证输出的值为 false时,很难确定在正在验证的 XML 文档中存在错误的位置。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2012 SP2 的累积更新1 /en-us/help/2976982
SQL Server 2014 的累积更新2 /en-us/help/2967546
SQL Server 2012 SP1 的累积更新10 /en-us/help/2954099
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
应用此修补程序后,此修复程序中引入了新的任务属性 ValidationDetails 。 其数据类型为 bool ,默认值为 false。 使用默认值时,验证输出仍为相同的 true 或 false字符串。 若要获取 XML 格式的详细验证输出,必须将属性值更改为 true。 输出 XML 类似于以下内容:<?xml version="1.0" encoding="utf-8"?><root xmlns:ns="http://schemas.microsoft.com/xmltools/2002/xmlvalidation"> <metadata> <result>false</result> <errors>1</errors> <warnings>0</warnings> <startTime><DateTime></startTime> <endTime><DateTime></endTime> </metadata> <messages> <error line="1" position="6250">The key sequence 'HUNGC' in 'CustomerIDKey' Keyref fails to refer to some key.</error> </messages></root> 注意 若要充分利用新添加的 ValidationDetails 选项和增强的输出,可以在运行程序包的 SSIS 服务器以及开发程序包的 SSDT 开发人员计算机上安装累积更新。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。