zoukankan      html  css  js  c++  java
  • 作业中运行SSIS包报加密错误

     SSIS包有一个必须理解的属性。这个属性告诉SSIS如何处理包内的敏感信息。常见的是连接字符串当中存储的密码。为什么这个信息非常重要?因为如果不正确设置保护级别的话,SSIS包可能变得无法使用。其他开发者可能无法打开包,又或者在执行包的时候运行失败。理解这些选项,可以使得你在这些潜在的问题发生之前就解决它们。在理想的情况下,你不需要保存任何敏感数据,然而现实当中各种环境大不相同。

    我们看看这些保护级别分别是什么吧。

    DontSaveSensitive

    当包保存时,敏感数据将会被移除。这样会导致密码需要通过用户或者配置文件提供。

    EncryptSensitiveWithUserKey

    敏感数据将会被加密,而密钥是基于当前用户的配置文件。敏感数据只能够被保存它的用户打开。如果另一个用户打开包的话,所有敏感数据将会被替换为空白。这在用户把包移交给其他用户工作时会导致问题。

    EncryptSensitiveWithPassword

    敏感数据将会被保存在包当中,并且通过密钥加密。每次在设计页打开包时,你需要提供密码以解密还原敏感数据。如果你清除了密码,那么所有敏感数据将会被空白所替代。这很适合在多人开发的场景下使用。

    EncryptAllWithPassword

    这与EncryptSensitiveWithPassword的工作原理相似,只不过不仅是敏感数据,整个包都会被进行加密。在设计页打开包时需要提供密码,否则就没法看到任何包的信息。

    EncryptAllWithUserKey

    这与EncryptSensitiveWithUserKey的工作原理相似,只不过整个包都会被进行加密。只有创建包的用户才被允许打开包。

     ===========================================================

    通常制作的dts包需要加密,在VS中调试时需要把项目和dts包的属性设置为EncryptSensitiveWithUserKey。

    调试没问题后把dts包的保护级别改为EncryptAllWithPassword,并设置密码,这样才能在sql作业中正常运行。否则会报错: 无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误,请确保提供正确的密钥。

     

  • 相关阅读:
    u-boot mkconfig文件分析
    uboot的lds文件分析
    gitlab webhook jenkins 403问题解决方案
    【python】将json串写入文件,并以json格式读取出来
    sqlalchemy 中 desc 的使用
    【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果
    【mysql】一对一关系的理解,以及Navicat Premium怎么设置字段的唯一性(UNIQUE)?
    【mysql】时间类型-如何根据不同的应用场景,选择合适的时间类型?
    Navicat Premium Mac 12 破解方法-亲测成功
    【linux】cp 批量复制文件
  • 原文地址:https://www.cnblogs.com/xiaohuhu/p/13838667.html
Copyright © 2011-2022 走看看