Connection manager in SSIS pointing to incorrect database - ssis

I am building a SSIS package using SSDT 2015. I have created two connection managers. One pointing to A database and other to B database. The second manager connection manager seems loosing the reference to the database every time i open the solution. It points to A instead of B. I am saving every time but it doesn't seem to remember the save.
Has anybody faced this issue ?
Properties window of the connection manager
Expressions editor

Related

SSIS ODBC pulls data properly until the package is executed - then it fails

I have an old database system of which I need to use Visual Studio to pull data into SQL.
This is what I have:
Windows Server 2012 R2
SQL 2012
Visual Studio 2010
On this server I have an ODBC data source with a special driver that points to the old database. It works, I have used it for years with other applications.
In Visual Studio, this is what I did.
Created an SSIS project
Created a new Connection in Connection Manager (lets called it “A”) using the ODBC Data Source.
Created a second Connection (let’s call it “B”) to the SQL 2012
In the Data Flow tab, I dropped in an ODBC Source, which I configured to use the “A”. The table shows up, proving that the ODBC Source is working. I chose a table then Preview – the top 200 rows appeared. So far so good.
In the data flow tab, I dropped in an OLE DB Destination, Which I configured to use “B”. I choose a table, then mapped the 2 together.
Now the problem. When I executed it, it failed with this: “SSIS.Pipeline: ODBC Source failed validation and returned error code 0x80004005.”
Why would the validation fail for ODBC when it properly pulled data?
How do I fix this?
I saw one article that I needed to add the path to the ODBC driver into the Windows path statement. I did that, but it did not help.
On a side note, I have Victual Studio 2019 on my personal computer. When I follow the exact same steps, it executes perfectly. The problem there is, SQL 2012 is too old to be published to, from VS 2019.

SSIS package tasks copy paste and keep connection manager name

I have some larger SSIS package processes I wrote in a test package and I want to copy/past it into an existing package. I have connection managers in both packages that have the same name. When I copy from one package to the other, it creates a new connection manager but with a "1" at the end of it.
Is there a way to have it NOT do this and just use the existing package connection manager with the same name?
Otherwise I will have to go into all the tasks, update the connection manager, and in places it resets the tables I was inserting into and I will have to redo all that as well.
Any suggestions?
Also is there anyway to update a variable name in many tasks easily? I just want to rename a variable but dont want to have to go in and edit every task to do so.
You can use a project level connection manager instead of using package level connection manager.
Right click on Connection Manager in solution explorer and create the connection manager. This connection manager will be common to all the packages. You can change the tables for this connection manager where you are using it. For all packages it will point to same database.
As you can see in below snapshot PackageLevel_ConManager is not visible, but Project level is visible in both the snapshot.

SSRS 2016 Scale-Out on Azure VMs not working

Setup
I'm running an AlwaysOn SQL Server Availability Set (from the Azure Always On SQL Server Availability Set Template), and trying to utilize the two SQL Servers in a scale-out NLB setup (I haven't figured out exactly what virtual appliance to use yet) for SSRS. I've never actually utilized a scale-out set-up for SSRS but it seems relatively straight-forward:
1. Set up one instance of SSRS
2. Create reportserver db
3. Connect to same report server db from a second SSRS instance
4. Accept the join request from SSRS Configuration tool of the first instance
Everything* seems to work fine up until step 4 when the join request doesn't appear (see the screenshot). The part of this that I imagine might be causing some issues is that due to the AlwaysOn Setup I am using an internal load balancer with sql listener for my SSRS connection string, and this can be pointed to either SQL Server instance at any given time based on failover, but I'm not sure how this could be troublesome.
Things I've Tried
The below resulted in: 2nd instance not available to join, despite successful connection to database.
Scaling Out before adding Report Server to AlwaysOn
Scaling Out after adding Report Server to AlwaysOn
Using rskeymgmt Utility from the 1st instance (indicates success but no change on restarting SSRS service)
The below resulted in: Primary scale-out instance changed from one instance to the other.
Restore encryption key from 1st instance to the 2nd instance after connecting to RS database.
None of this seems to work and I'm not sure if this is a bug in SQL Server 2016 or something wrong with my methodology. Any help would be appreciated.
Thanks!
*Note: I ran into some initial problems with loopbacks, but disabled strictnamechecking and allowed the specific dns names through the check (the host name for the load balancer (base and FQDN) and that of the server itself (base and FQDN).
It turns out that Azure SQL Server Templates ship with identical InstallationID's in the report server config file. Altering the GUID in the file resolves the issue.

SSIS: Do package data sources update all connected connection managers automatically?

I converted a big project from SSIS2008 -> SSIS2014
During conversion i also erased all connection managers and recreated them based on the packages data sources.
Now i want to test my packages on another server , so i changed my 2 data sources only.
When i open the packages can see on the connection-string the old server.
If i dont do anything else and press start, what will happen?
Will the package update itself automatically and get the connection string of the data source or not?
If it doesn't then what is the point to have the option "create connenction manager from data source" and assign a DataSourceID to the package connection manager?
I am in package deployment model.

SSIS 2012: Package fails from SQL Agent but runs OK manually

There is a Master package as below to call and run all child packages in my SSIS solution by Project Reference. Also, all connection managers are set at project level since all packages are sharing the same ones.
When manually running, everything works well from master to last child. However, when the master package is executed from a SQL Agent, it shows error as follows:
Code: 0xC001000E Source: Master
Description: The connection "{5A827D76-916C-4F22-ADE9-266ABBEB1E37}" is not found.
This error is thrown by Connections collection when the specific connection element is not found.
Then I checked the connection ID and found it is an OLE DB connection manager in the first child package as follows:
I'm not sure if I should replace project connections with package level to fix this issue. Hopefully someone could help me out. Thanks in advance!
Some more info that might be helpful:
All connection managers are connect to SQL-Server 2012 and my visual studio version is 2010.
An SSIS proxy is created with the same windows account of packages for SQL Agent to execute. It also has full control to all DBs used in solution.
SQL Agent is set as below: