Пакеты SSIS потокобезопасны? т.е. можно называть параллельно?

По умолчанию, являются ли пакеты SSIS потокобезопасными?

Можно ли их называть параллельно? (в общем)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 191
2

Ответы 2

Если вы рассматриваете их как соединение с базой данных, они настолько поточно-ориентированы, насколько это возможно. Я думаю, что более важный вопрос - таблица будет заблокирована, когда пакет попадет в нее.

Пакет SSIS может делать только то, что ему говорят. Если вы преобразовываете таблицу, она, вероятно, будет заблокирована во время выполнения операции. Это приведет к тому, что задания будут более или менее последовательными, если они сначала не истекут. Если вы копируете данные, вам, вероятно, удастся избежать параллельной работы.

ТАК ответ на ваш вопрос: «Да, но». Это базовый доступ к данным, который определит, могут ли вещи работать параллельно.

Это здорово, так как SQL-сервер выполнит всю блокировку за вас.

Ray Booysen 05.01.2009 19:15

хорошо, это то, о чем я тоже думал, поэтому вызов SSIS похож на вызов веб-страницы или веб-службы.

Blankman 05.01.2009 19:16

Да, пакеты SSIS ориентированы на многопоточность. Вы также можете управлять параллелизмом несколькими способами:

  • Индивидуальный пакет может быть установлен на запустить ограниченное количество потоков. Этим управляет свойство пакета MaxConcurrentExecutables.

  • Пакеты для последовательного запуска могут быть настроен с зависимостью. Вы можете сделать это внутри пакета или из главного пакета, вызвав дочерние пакеты.

  • Свойство MaxConcurrentThreads можно переопределить в командной строке для DTExec.exe.

Если вам нужно уменьшить проблемы с блокировками и конфликтами, вы можете установить свойства изоляции транзакции или написать запросы к базе данных с подсказками без блокировки. Очевидно, вам нужно будет следить за любыми потенциальными проблемами параллелизма или грязного чтения.

Вы можете использовать профилировщик или perfmon в базе данных, в которой запущены пакеты, для поиска признаков проблем с блокировкой. Не вдаваясь в подробное обсуждение вопросов настройки базы данных, которое само по себе является довольно большой темой, поищите большие цифры в статистике ожидания защелок и блокировок как признак возможных узких мест.

Другие вопросы по теме