Я работаю в проекте DW, где мы используем ETL, используя T-SQL с SQL Server 2012. Наш код хорошо работает до сих пор для набора таблиц из старой системы. Тем не менее, Data Architect объявил, что мы получим таблицы из других устаревших систем. Он хочет, чтобы одна и та же часть кода могла обрабатывать все таблицы всех систем, поскольку они будут иметь одинаковую структуру, но существуют в отдельных БД на одном сервере.Синонимы SQL Server с одновременным выполнением
Кроме того, он требует, чтобы существующая часть кода запускалась одновременно для всех таблиц системы, поэтому мы сохраняем время выполнения. Я работал над POC, используя синонимы, которые, похоже, делают трюк, но он не будет выполнять наш код для разных наборов таблиц одновременно, потому что мы закончим перезаписывание ссылок на выполняемые в настоящее время объекты синонимов. Поэтому я сейчас переосмысливаю всю проблему: как избежать переписывания того же кода, который у нас есть для каждого набора таблиц, которые мы получаем, в то же время позволяя одновременное выполнение? Любое понимание или предложение будут оценены. Благодарю.
Ваше предложение является интересным, и я более подробно рассмотрю SSIS. Мой босс не хочет использовать SSIS, потому что мы делаем SCD тип 4 (изменения данных идут на таблицы аудита), и SSIS не поддерживает это, насколько мы видели. Возможно, в SSIS есть способ сделать это без использования своих SCD-элементов управления. – user2525262
Если бы это был я, и это было требование (т. Е. Изменения в ревизии), я бы либо использовал CDC и обрабатывал изменения в другую таблицу, либо использовал триггер и делал то же самое. В любом случае, пусть ETL будет ETL, а не «ETL и аудит». –