2013-03-20 62 views
5

是否somhow可以設置SSIS包的的ProtectionLevel在Visual Studio軟件包開發過程中DontSaveSensitive從配置文件密碼和使用連接字符串?SSIS包開發期間如何使用DontSaveSensitive和XML配置文件

我有包例如Package1與ProtectionLevel = DontSaveSensitive。該軟件包使用來自連接管理器的連接, 連接1

Package1已啓用配置使用配置文件file1.dtsConfig指定了連接字符串。 此連接字符串中有密碼:

<DTSConfiguration> 
    <DTSConfigurationHeading> 
     <DTSConfigurationFileInfo GeneratedBy="..." GeneratedFromPackageName="..." GeneratedFromPackageID="..." GeneratedDate="20.3.2013 12:08:27"/> 
    </DTSConfigurationHeading> 
    <Configuration ConfiguredType="Property" Path="\Package.Connections[Destination].Properties[ConnectionString]" ValueType="String"> 
     <ConfiguredValue>Data Source=.;Password=Password123;User ID=MyUser;Initial Catalog=Catalog;Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;</ConfiguredValue> 
    </Configuration> 
</DTSConfiguration> 

現在打開從連接管理器在Visual Studio中的連接時,對密碼的文本字段爲空和封裝doen't執行。 爲什麼在配置文件file1.dtsConfig中沒有使用連接字符串中指定的密碼?

enter image description here

回答

4

最後我們找到了一種方法如何做到這一點:

  • 變化的ProtectionLevel到DontSaveSensitive
  • 創建一個連接字符串configuraton文件
  • 手動編輯此配置文件:增加密碼用於連接SQL Server身份驗證的連接字符串

然後,即使在Visual Studio中,SSIS包也會從配置文件加載包含密碼的連接字符串。在連接管理器連接對話框中,密碼將不會顯示,但程序包將使用來自配置的連接字符串運行。

+0

使用'EncryptSensitiveWithUserKey'的問題是當你將包分享給其他人或其他用戶試圖運行你的包時,執行將失敗。當您沒有計劃部署您的軟件包或將您的軟件包與您的團隊集成在一起時,或者在您將其部署到SQL Server或文件系統中時授予其他用戶運行軟件包的權限時,應使用此選項 – praveen 2013-03-21 13:18:09

+0

嗯,但我正在使用軟件包由另一臺PC上的另一位用戶創建,並在我的PC上設置了EncryptSensitiveWithUserKey。當我指定配置文件時,現在從配置(不是來自包)讀取連接字符串,並且包運行正常,即使保護級別設置爲EncryptSensitiveWithUserKey,我也不是該包的作者。 – dee 2013-03-21 15:14:48

+0

這似乎很奇怪。檢查這篇文章出http://www.mssqltips.com/sqlservertip/2091/securing-your-ssis-packages-using-package-protection-level/ – praveen 2013-03-21 15:29:53

0

,如果你選中複選框Save my Password SSIS將只在runtime。即使從Config File連接字符串,SSIS不會保存密碼僅在BIDS session價值。選項VALD。因此,下一次當你使用BIDS打開包裝,又需要在Visual Studio否則包不會compile輸入憑據,但包會,如果你已經在config file指定connection string始終正確期間run time執行。

按照MSDN它明確指出,

不要保存敏感:防止那些被保存在包裝標註敏感 性能,因此使得無法使用其他用戶的敏感數據 。

0

這種情況也是當包被設置爲首先使用EncryptSensitiveWithUserKey,然後更改爲DontSaveSensitive -protection級別。您必須手動編輯.conmgr文件並刪除DTS:密碼元素並將密碼輸入連接字符串,因爲用戶明智地在上面寫過。

相關問題