Проблема
Предположим, что вы используете службы Microsoft SQL Server 2012 Integration Services (SSIS 2012) или SQL Server 2014 Integration Services (SSIS 2014). Если у вас есть задача XML службы SSIS, для свойства OperationType которой настроено значение Validate, средство проверки XML служб SSIS выводит только значения true или false. Это поведение заложено по умолчанию в службах SQL Server Integration Services.
Однако когда проверка выдает значение false, может быть трудно определить, существует ли ошибка в проверяемом XML-документе.
Решение
Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.
Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/2976982
Накопительный пакет обновления 2 для SQL Server 2014 г. /en-us/help/2967546
Накопительный пакет обновления 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2954099
Сведения о накопительных обновлениях для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 2 (SP2)
- Последний накопительный пакет обновления для SQL Server 2014
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1)
После применения этого исправления в исправлении появляется новое свойство задачи ValidationDetails. Его тип данных — bool, а значение по умолчанию — false. Если используется значение по умолчанию, выходные данные проверки остаются той же строкой "истина" или "ложь". Чтобы получить подробные выходные данные проверки в формате XML, необходимо изменить значение свойства на true. Выходной XML выглядит следующим образом:<?xml version="1.0" encoding="utf-8"?>
<Корневой XMLNS:ns="http://schemas.microsoft.com/xmltools/2002/xmlvalidation">
<метаданные>
<result false</result (результат>)>
<ошибки>1</ошибки>
<предупреждения>0</предупреждения>
<startTime><DateTime></startTime>
<endTime><DateTime></endTime>
</метаданные>
<сообщения>
<error line="1" position="6250">Последовательность клавиш "HUNGC" в ключевой ссылке "CustomerIDKey" не ссылается на какую-либо клавишу.</ошибка>
</сообщения>
</root> Примечание Чтобы в полной мере воспользоваться преимуществами добавленной опции ValidationDetails и расширенными выходными данными, можно установить накопительный пакет обновления как на сервере SSIS, на котором выполняются пакеты, так и на компьютере разработчика SSDT, на котором разрабатываются пакеты.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».