Проблема с использованием подхода с использованием файла конфигурации заключается в том, что вам необходимо постоянно изменять файл. Служба SSIS не будет перезагружать файл конфигурации после его запуска, так что вы, вероятно, можете иметь задания в 8:05 и 20:35, которые меняются файлами конфигурации, но в какой-то момент это может стать грязным и сломанным.
Я бы обработал эту ситуацию с помощью переменных командной строки ( / параметр set в dtexec ). Если бы вы запускали пакет из командной строки, он бы выглядел примерно так: dtexec.exe /file MyPackage.dtsx
Даже если вы используете агент SQL, за кулисами он создает эти аргументы командной строки.
При таком подходе предполагается, что вы создаете две разные работы (против 1 запланированной работы 2 раза в день).
AgentMyPackage2011 имеет шаг работы SSIS, который приводит к
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
и AgentMyPackage2012 имеет шаг задания служб SSIS, в результате которого
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
Через графический интерфейс это будет выглядеть примерно так
Нет графического интерфейса или селектора для свойства, которое вы хотите настроить. Однако, поскольку вы уже создали файл .dtsConfig для своего пакета, откройте этот файл и найдите раздел, подобный
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
В файле уже есть путь к «вещи», которую вы пытаетесь настроить, поэтому вставьте ее в вызывающую программу, а затем отключите часть конфигурации пакета по году.
Наконец, ссылка на Приоритет конфигурации служб SSIS , поскольку существуют различия в модели 2005 г. по сравнению с 2008 г. Я вижу, что вы указали 2008 в своем тикете, но для будущих читателей, если вы используете и / SET, и источник конфигурации (xml, sql server, Registry, переменная среды), порядок операций зависит от версии.