过去一周,在SQL Server代理上运行的多个SSIS程序包已将数据加载到Snowflake中,已开始随机返回跟随消息。
“无法获取连接“ snowflake”。连接可能配置不正确,或者您对此连接没有正确的权限。”
[我们在多个作业中看到此消息,并且每个作业正在加载多个表,并且在项目内对Snowflake的每次调用中都不会发生,而是在具有100的作业中仅执行一个或两个任务。
我们正在使用Snowflake的2.20.2驱动程序
[WireShark捕获网络流量时,我们已经完成了工作,并被网络团队接收。他们没有太多运气,因为未显示ACK消息。
我们还在作业运行时也运行了Process Monitor,但没有发现任何暗示任何问题的内容
我们还从Snowflake驱动程序中挖掘了日志,并在此之前和之后找到了调用,但是没有发现有关失败任务的消息。由于这些日志会围绕它们发送到的文件进行反弹,因此当一个作业上的多个任务一起运行时,很难跟踪顺序操作。
我们还安装了SnowCD并运行它,它返回了完整的成功消息。
在SQL Server代理上运行作业的用户是服务器上的管理员,并且在Sql Sever实例上具有SysAdmin权限。
驱动程序所连接的仓库是一个大的大型仓库,最多包含3个群集(问题开始时为1,但将其提高到3以查看是否有帮助)
作业正在Azure的Windows Server 2016数据中心上运行SQL Server实例为Sql Sever 2016 13.0.4604.0
我们无法弄清楚为什么突然和随机使用与Snowflake的连接。
一些帮助使这些软件包正常工作的想法:
向失败的任务添加重试。仅当成功时,该任务才进入下一步: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软件包持续完成,您就可以在故障点分析日志,以查看是否有任何模式可以帮助您确定根本原因。