I used to have a DTS package that used SQL Server authentication. The userid password was stored in the package itself. Now that I have moved to SSIS, the password is not getting stored to the package. I saw SSIS Connection Manager passwords when I googled the problem, but no one seems to have given a good resolution.
This question points to the Microsoft article SSIS package does not run when called from a SQL Server Agent job step:
Here are the proposed solutions - have you evaluated them?
Method 1: Use a SQL Server Agent proxy account. Create a SQL Server Agent proxy account. This proxy account must use a credential that lets SQL Server Agent run the job as the account that created the package or as an account that has the required permissions.
This method works to decrypt secrets and satisfies the key requirements by user. However, this method may have limited success because the SSIS package user keys involve the current user and the current computer. Therefore, if you move the package to another computer, this method may still fail, even if the job step uses the correct proxy account. Back to the top
Method 2: Set the SSIS Package
ProtectionLevel
property toServerStorage
. Change the SSIS Package ProtectionLevel property to ServerStorage. This setting stores the package in a SQL Server database and allows access control through SQL Server database roles. Back to the topMethod 3: Set the SSIS Package
ProtectionLevel
property to EncryptSensitiveWithPassword. Change the SSIS PackageProtectionLevel
property toEncryptSensitiveWithPassword
. This setting uses a password for encryption. You can then modify the SQL Server Agent job step command line to include this password.Method 4: Use SSIS Package configuration files. Use SSIS Package configuration files to store sensitive information, and then store these configuration files in a secured folder. You can then change the
ProtectionLevel
property toDontSaveSensitive
so that the package is not encrypted and does not try to save secrets to the package. When you run the SSIS package, the required information is loaded from the configuration file. Make sure that the configuration files are adequately protected if they contain sensitive information.Method 5: Create a package template. For a long-term resolution, create a package template that uses a protection level that differs from the default setting. This problem will not occur in future packages.