Пакеты служб SSIS, работающие на SQl Server Agent, не могут случайно подключиться к Snowflake - PullRequest
1 голос
/ 31 января 2020

За прошедшую неделю несколько пакетов служб SSIS, работающих на SQL Серверный агент, который загружает данные в Snowflake, начал произвольно возвращать следующее сообщение.

"Не удалось получить соединение" снежинка ". Соединение может не быть настроен правильно, или у вас могут не быть необходимых разрешений для этого соединения. "

Мы видим это сообщение в нескольких заданиях, и каждое из заданий загружает несколько таблиц, и его не происходит при каждом вызове Snowflake в проектах. , но только для одной или двух задач в заданиях, которые имеют 100 с.

Мы используем драйверы 2.20.2 от Snowflake

Мы запустили задания, пока WireShark захватывал сетевой трафик c и были получены сетевой командой. Им не очень повезло, потому что сообщения ACK не отображались.

Мы также запустили Process Monitor во время выполнения заданий, и мы не нашли ничего, что указывало бы на какие-либо проблемы

Мы также Выкопал журналы от драйвера Snowflake и нашел вызовы прямо до и сразу после него, но никаких сообщений для задачи, которая не удалась. Поскольку эти журналы не совпадают с тем, в какой файл они отправляются, довольно сложно отслеживать последовательные действия, когда несколько задач в задании выполняются вместе.

Мы также установили SnowCD и запустили его, и он вернул полный успех. message.

Пользователь, запускающий задания на SQL Агент сервера, является администратором на сервере и имеет права SysAdmin на экземпляре Sql Sever.

Склад, к которому подключены драйверы, имеет размер Large с макс. 3 кластерами (был равен 1, когда возникла проблема, но поднял его до 3, чтобы посмотреть, помогло ли это)

Задания работают на Windows сервер 2016 DataCenter в Azure SQL Экземпляр сервера Sql Север 2016 13.0.4604.0

Мы не можем понять, почему мы внезапно и случайно используем соединение со Snowflake.

1 Ответ

0 голосов
/ 03 февраля 2020

Некоторые идеи, которые помогут заставить эти пакеты работать:

Добавьте повторение к ошибочным задачам. Задача переместится на следующий шаг только в случае успеха: https://www.mssqltips.com/sqlservertip/5625/how-to-retry-sql-server-integration-services-ssis-control-flow-tasks/

Вы также можете объединить усечение и вставить в один шаг, используя команду insert overwrite into, которая позволит вашему пакету выполнить быстрее и выполнить одну задачу на случай сбоя: https://docs.snowflake.net/manuals/sql-reference/sql/insert.html#insert -using-overwrite

После того, как пакеты служб SSIS завершаются последовательно, вы можете проанализировать журналы в точке сбоя, чтобы увидеть, существует какая-то модель, которая поможет вам определить причину root.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...