Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SSIS Connection Manager Not Storing SQL Password

I used to have a dts that had a sql server authentication connection. Basically, the userid password is stored in the package itself. Now, when I go 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.

like image 348
OpenSource Avatar asked Aug 13 '09 19:08

OpenSource


People also ask

How do you store SQL passwords does the SSIS Connection Manager of the package store SQL password?

When you configure your SSIS Data Sources and Connection Managers to save usernames and passwords, even if you click the box that says, “Save my password”, the password will stay saved in the package file only in some cases. In the Package properties, there is a property called „Package Protection Level“.

How do I put a password on a SSIS package?

Select the drop down in the “ProtectionLevel” section and select “EncryptSensitiveWithPassword”. This will allow you to set a password at the package and project level.

Can we deploy SSIS package using SQL Server authentication?

If you're deploying to a SQL Server with the Deployment Wizard, you have to use Windows authentication; you can't use SQL Server authentication.

How do I parameterize connections manager in SSIS?

I pick the relevant Property (in this case, ConnectionString) and click “Use existing parameter”. Then I pick my project parameter from the list. Once the project is saved, the connection manager in the package will have a little fx symbol next to it to indicate that it is parameterized.


2 Answers

You can store the password in the configuration string by going to properties and adding password=yourpassword, but it's very important to put a space after the ; on the line before password and after the ; on the password line, as shown below:

Data Source=50.21.65.225;User ID=vc_ssis;  password=D@mc317Feo;  Initial Catalog=Sales; Provider=SQLNCLI10.1; Persist Security Info=True;Auto Translate=False; Application Name=SSIS-PKG_CustomerData-{2A666833-6095-4486-C04F-350CBCA5C49E}IDM11.Sales.dev; 
like image 64
VijayK Avatar answered Sep 25 '22 07:09

VijayK


That answer points to this article: http://support.microsoft.com/kb/918760

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 to ServerStorage

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 top

  • Method 3: Set the SSIS Package ProtectionLevel property to EncryptSensitiveWithPassword

Change the SSIS Package ProtectionLevel property to EncryptSensitiveWithPassword. 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 to DontSaveSensitive 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.

like image 33
Sam Avatar answered Sep 22 '22 07:09

Sam