Secara default property ProtectionLevel sebuah SSIS package berisi EncryptSensitiveWithUserKey. dengan nilai ini berarti hal-hal yang sifatnya sensitive seperti password connection yang terdapat pada connection manager akan di-encrypt berdasarkan user yang membuat package tersebut.
Apabila Anda mendevelop package nya seorang diri tentu tidak akan menjadi masalah, tapi apabila Anda bekerja dalam sebuah team yang sering kali memodifikasi package milik teman satu team Anda, tentu akan sedikit tidak nyaman dengan munculnya pesan error yang mengatakan bahwa package tersebut memiliki Encryption Key berbeda.
Untuk menghindarinya ada beberapa cara yang dapat ditempuh, dan yang biasa saya kerjakan (dan sukai) adalah dengan mengatur ProtectionLevel-nya dengan DontSaveSensitive. Dengan konfigurasi seperti ini, setiap kali kita membuat package, maka password connection tadi tidak akan ikut disimpan pada saat penyimpanan package.
Informasi tentang connection string beserta dengan password nya saya simpan dalam SQL Server yang mode autentikasinya Windows Authentication.
Hal ini juga memudahkan kita pada saat maintenance. Jika policy di perusahaan mengharuskan pengubahan password SQL secara berkala, connection string yang harus diubah cukup disatu tempat dan pada saat package dieksekusi connection string yang terdapat pada package akan mengikuti konfigurasi di SQL Server tadi.