Есть ли способ (возможно, путем создания более сложного файла конфигурации)
выполнить тот же пакет в зависимости от моих потребностей?
Не легко. Самый простой (это относительный BTW) будет иметь контрольную таблицу для таблицы для выбора даты от, а затем вы просто манипулируете этой таблицей таким образом, что SELECT будет захватывать. Это также требует повторного факторинга запроса SELECT, чтобы отказаться от SELECTing MAX (DATE). Если вам нужна таблица дат для хранения исторических дат, вам нужно будет добавить еще один столбец, который действует как переключатель для указания того, какую дату загружать, а затем упорядочивать по возрастанию DATE. Например:
ID DateLoadInd
3/21/2019 1 -- this will load
3/20/2019 0 -- this will not load
3/19/2019 0 -- this will not load
3/18/2019 0 -- this will not load
3/17/2019 1 -- this will load
SELECT T1.*
FROM Info_Table T1
INNER JOIN Date_Table T2
ON T1.Date = T2.ID
WHERE T2.DateLoadInd = 1
ORDER BY T2.ID ASC
Кроме того, вы можете отказаться от присоединения к Date_Table и просто параметризовать запрос, чтобы получить значение через параметр пакета, который сопоставлен с переменной. Мне не нравится этот подход, потому что он требует, чтобы SQL Server определял и передавал дату на работу. Я не думаю, что можно использовать функцию GETDATE () в параметре пакета в надежде, что она будет выполнена для определения даты (то есть она передается только в виде строки). Таким образом, вы не можете использовать подход, позволяющий заданию запускаться автоматически, в надежде, что вы можете просто запустить его на текущую дату, если не хотите переопределить и указать конкретную дату. Даже если это сработало, вы все равно должны были бы не забыть перевернуть параметр пакета обратно в GETDATE () - это больше работы, чем стоит, и поэтому мне не нравится это в отношении создания более сложной конфигурации файл.
На этой ноте, когда вы говорите:
(возможно, путем создания более сложного конфигурационного файла)
Я понимаю, что, говоря о том, что вы используете устаревшую модель развертывания пакетов вместо более современной (и лучшей IMHO) модели развертывания проекта.