【问题标题】:SSIS Azure BLOB / DW Upload task errorSSIS Azure BLOB / DW上传任务错误
【发布时间】:2018-04-28 04:27:30
【问题描述】:

尝试在 SSIS 中使用 Azure SQL DW 上传任务加载文本文件时,出现以下错误:

错误:Azure SQL DW 上传任务中的 0x0,Azure SQL DW 上传任务: 无法上传到 Blob 存储。无法创建 Azure Blob 容器。端点:https://[removed].blob.core.windows.net/, 容器名称:[myContainer]。远程服务器返回错误:(403) 禁止。远程服务器返回错误:(403) Forbidden

SSIS 任务失败。我也尝试了 BLOB 上传任务,但失败了。任何帮助表示赞赏。

【问题讨论】:

    标签: sql-server azure ssis blob


    【解决方案1】:

    原因

    当客户端使用不满足为帐户配置的最低 TLS 版本(您已将最低 TLS 版本配置为 TLS1.2)的 TLS 版本访问存储帐户时,Azure 存储返回错误代码 400 错误(Bad Request ) 和一条消息,指示不允许使用的 TLS 版本针对此存储帐户发出请求。

    分辨率

    Azure 功能包使用的 TLS 版本遵循系统 .NET Framework 设置。要使用 TLS 1.2,请在以下两个注册表项下添加一个名为 SchUseStrongCrypto 的 REG_DWORD 值和数据 1(取决于您在 Visual Studio 中使用的 .net 框架版本 - 您可以从 VS 的帮助菜单中找到):

    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft.NETFramework\v4.0.30319
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319

    更多信息

    要测试存储帐户所需的最低 TLS 版本是否禁止使用旧版本进行调用,您可以将客户端配置为使用旧版本的 TLS。有关将客户端配置为使用特定版本的 TLS 的详细信息,请参阅 this link 中为客户端应用程序配置传输层安全性 (TLS)。

    当您为存储帐户强制使用最低 TLS 版本(您的存储帐户配置将最低 TLS 版本设置为 TLS 1.2)时,您可能会拒绝来自使用旧版本 TLS 发送数据的客户端的请求。

    参考文档

    【讨论】:

      【解决方案2】:

      对于那些不想用头撞墙的人来说,这里是问题/解决方案:

      我将“PackageProtectionLevel”设置为“DoNotSaveSensitive”,所以我使用包参数来配置密码/安全令牌,然后使用表达式将它们设置为任务值。 SSIS shold 抛出了一个更好的错误,但至少解决了

      【讨论】:

      • 更多上下文:我尝试通过各种其他方式加载文件并且它正在工作。在混合中测试 w/o SSIS 的最简单方法是使用“Microsoft Azure 存储资源管理器”(类似于 Cloudberry blob 资源管理器)来尝试上传文件。一旦成功,我决定专注于特定于 SSIS 的事情,并且我之前在第 3 方 Salesforce 任务中遇到过类似的问题。
      【解决方案3】:

      我将“PackageProtectionLevel”设置为“DoNotSaveSensitive”,所以我使用包参数来配置密码/安全令牌,然后使用表达式将它们设置为任务值。 SSIS shold 抛出了一个更好的错误,但至少解决了

      请详细说明。我尝试更改“PackageProtectionLevel”,但没有成功。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 2013-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-14
        相关资源
        最近更新 更多