JavaScript, Python и Ruby могут быть использованы таким образом, но Scala поднимает ступеньку, набирая функцию статически и работая под JVM.
Кто / кто создал сценарий SQL? Получите все, что создало файл, чтобы разбить сценарий на логические блоки либо транзакцией, либо оператором (в зависимости от структуры файла). Если источник не может этого сделать, создайте сценарий для логического разделения файла.
Программа сравнения SQL RedGate имеет возможность выполнять операторы напрямую, вместо создания сценария SQL и его последующего выполнения. Есть ли причина, по которой это не сработает - другими словами, есть ли причина, по которой вам нужен сценарий SQL и вы не можете использовать функцию «синхронизировать сейчас» приложения?
Если он такой большой, сценарий либо слишком сложен, либо повторяется. В любом случае, как предлагали другие, единственная разумная вещь - разбить его на управляемые части.
Это разовое упражнение или обычное мероприятие?
У меня была эта проблема раньше, когда в скрипте была огромная строка XML, которая использовалась с OpenXML. Фактический SQL был довольно минимальным, обновляя некоторые значения в таблице.
В итоге я вставлял данные (порциями) во временную таблицу, пока вся информация, которая была в XML, не была сохранена. Затем я выполнил свой оператор обновления.
Добавлено позже, после того, как было опубликовано больше данных:
Вы можете выбрать большие фрагменты в инструменте и заставить SQL Data compare генерировать сценарии фрагментами. Таким образом, вы получите транзакции. Вы можете выбрать большие разделы, просто выделив диапазон и нажав клавишу пробела.
1-800-redgate-support .....
или
Я столкнулся с этой проблемой несколько месяцев назад. Я генерирую сценарии синхронизации с SQLDataCompare еженедельно и ежемесячно для нескольких наших баз данных каталога, и они обычно превышают 500 МБ. Мое решение заключалось в написании сценария VBscript, который разбивает сценарий обновления на от 50 до 1000 командных пакетов. Проблема с этим подходом заключается в потере возможности откатить все изменения, если что-то сломается на полпути при обновлении вашей базы данных.