SSIS project Target Server Version changing unexpecteldy - sql-server

We have SSIS project with Target version
We need to use this target version if someone need to load some data or for develop packages. We are using VS 2017 with latest patches. If someone try to change some package of project and deploy only this package into SSISDB then next opening of project in VS will show that now target server version 2019. All developers use VS 2017 only (double checked this). Why target version changing to 2019 ? We can't run this with target version 2019 because few times saw such problems like not full loading of data despite on green mark check after package completion and this happenig only with target version 2019 , everything is good when we changing target version back to 2017 and running the same packages. But this is difficult to control everyone to change target server version back to 2017 every time when someone just need to make some minor changes to some of package of the project.
Here are versions of our services
Microsoft SQL Server 2017 (RTM-CU22-GDR) (KB4583457) - 14.0.3370.1 (X64) Nov 6 2020 18:19:52 Copyright (C) 2017 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2019 Datacenter 10.0 (Build 17763: ) (Hypervisor)
Integration Services 14.0
Visual Studio Proffessional 2017 15.9.46
Just step by step what i'm doing :
Open my project in Visual Studio 2017 and check target server version
It is not comfortable for us due to strange behavior of Visual Studio when loading some data
Then im changing Target Server Version and Visual Studio Starts to modify every of my packages inside this project ( to translate this to English it says "converting of packages in progress" )
Now project has target version 2017 ( and per picture above every package got some changes due this target version changing ) I deploy this back to SSISDB
I open this project again in visual studio ( load from SSISDB everything that i deployed earlier ) and see
Then I open any of packages and just do minor changing inside , save this to current opened project in VS ( target server version still 2017 )
Then I deploy package to SSISDB (exacly package not project ) and i'm sure that this package was made with target version 2017.
Then I open my project again from SSISDB and now I see

Related

Move DTS package from SQL Server 2012 to 2019: SSISScriptComponentEntryPointAttribute is not defined

I need to migrate several DTS packages as noted above. They're actually running fine when I run them via dtexec.exe on the command-line. But if I try to install and run them via SQL Server Agent - as they were previously and as such are supposed to - I get the bogus error message, that
C:\Windows\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.vb
...couldn't be accessed. I say bogus because this (generated?) file is actually there and should be accessible since I'm running all of this logged into SQL Server via Windows Authentication as local administrator.
(Update: I should explicitly mention that I've tried creating and running these jobs off the SQL Server Integration Services as well as directly off the file system. Both methods end up with the same result described above.)
After trying to read up on the matter I got the impression that you migrate such packages correctly by installing Visual Studio / Data Tools / Integration Services, loading the DTS packages in there, inspecting and fixing any errors - i.e. rebuild the whole thing in the new IDE. So I set out to do that, and got a bunch of the following error messages for VisualBasic scripts within the DTS package:
The binary code for the script is not found. Please open the script in the designer (...)
I did that, and was notified about a missing type:
BC30002 - Type 'Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute' is not defined. (...)
This seems really weird, because I'm able to open the type's sources in question in Visual Studio without problems.
Why does this happen and what can I do about this? Why do I need to bother with all of this if the DTS packages run fine with dtexec.exe on the command-line?
Exact server versions:
Microsoft SQL Server 2012 (SP4-GDR) (KB4583465) - 11.0.7507.2 (X64)
Developer Edition (64-bit) on Windows NT 6.3 (Build 9600: ) (Hypervisor)
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Developer Edition (64-bit) on Windows Server 2019 Standard 10.0 (Build 17763: ) (Hypervisor)

SQL Server Data Tools version 17.x is available for which version of Visual Studio?

Kindly let me know where can I get 17.x version of SSDT. I am trying to run a powershell script which requires SQL Server Data Tools version 17.x. I am not sure which version of VS it's referring to? 2017 or 2015
The error message is:
Exception calling "DeployProject" with "2" argument(s): "Could not load file or assembly 19-Sep-2019 07:04:28 'Microsoft.SqlServer.IntegrationServices.Common.ObjectModel, Version=14.0.0.0, Culture=neutral, 19-Sep-2019 07:04:28 PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
As I know for Visual Studio 2017 the relevant SSDT version is 15.x And with Visual Studio 2019, the required functionality to enable Analysis Services, Integration Services, and Reporting Services projects has moved into the respective Visual Studio extensions.
Reference
Download and install SQL Server Data Tools (SSDT) for Visual Studio
Update 1
Based on your comments, you must install SSDT for SQL Server 2016 (version 14)
Previous releases of SQL Server Data Tools (SSDT and SSDT-BI)

Does downgrading visual studio 2017 to 2015 affect code?

I am using visual studio 2017 and sql server 2016 for development of SSIS. I am in situation where I want to deploy my SSIS package to client side where old visual studio 2015 is used. So because of this I am not able to deploy it. So my question is how do I deploy my SSIS package to client side? Does downgrading visual studio from 2017 to 2015 affect my code?
SSIS projects are the same, as long as you install the latest version of SSDT.
Deployment has nothing to do with Visual Studio though. You need to develop your SSIS project targeting the same version as the production server. Many features depend on the target server's version. For example, SSIS Package Parts can only be used for projects that target SQL Server 2016 and above.
I've been using both Visual Studio versions on the same project for almost a year because SSIS support in VS 2017 was only a preview until recently. I had to wait until October 2017 for SSIS in VS 2017 to became stable enough to ditch VS 2015. Up until August 2017 there was a nasty bug that didn't allow me to open C# transformation tasks in 2017, so I had to switch to 2015 each time I wanted to edit them.
As I remember, diffing the project files showed that the only change from one VS version to another was a different version number in the file.
There was no one-way project upgrade between 2015 and 2017.

SSIS 'Deploy' button disabled

I recently upgraded to Visual Studio 2017 and so SSDT for VS 2017 but then decided to go back to VS 2015 because of some other complication. I uninstalled SSDT for VS 2017 and installed SSDT for VS 2015. Now the Deploy button is disabled when I try to deploy my SSIS project. There are no messages saying why it's disabled. Not sure where to go from here. I tried to deploy the packages separately in SQL Server but because I have a project level parameter my packages uses so it's giving me an error.

SQL Server 2017 Express Installation fails

I am trying to install SQL Server 2017 Express on Windows 10 and it is failing.
Here is the details it shows me after failure:
Action required:
Use the following information to resolve the error, and then try the setup process again.
Feature failure reason:
An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Error details:
ยง Error installing Microsoft Visual C++ 2015 Redistributable
VS Shell installation has failed with exit code 1638.
Error code: 1638
Log file: C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20171018_083459\VCRuntime140_x64_Cpu64_1.log
Visithttps://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638 to get help on troubleshooting.
I am Windows 10 and have Visual Studio 2017 installed.
I'm thinking the problem could be I installed SQL Server Management Studio 2017 before I installed SQL Server.
I have the same setup at home but I installed SQL Server first and then SSMS and everything works fine.
The other difference is at home in the installation dialog it says something the affect that C++ Redistribuble is already installed but at work where it is failing it says it is to be installed in hte list of components.
The problem is likely that there's a newer version of the Visual C++ Redistributable than SQL Server is trying to install, e.g., from Visual Studio 2017. So another way to address this, if you don't need the latest C++ redistributable, is to go to Add or Remove Programs and uninstall all references to Visual C++ 2017 Redistributable. After this, the SQL Server installation should proceed without errors.
I had this error before all I did was(using Win10 x64):
Go to control panel-> Select Programs -> Programs and Features -> Search "c++"
-> In the list select Visual C++ 2017(or your version error) Redistributable -> right click select "change" -> select repair.
After that I was able to continue and successfully installed SQL Server Express 2017.
Note:
Some requires uninstall and reinstall again therefore if the above procedure doesn't work just try reinstalling it.
I figured it out for my environment.
If you have Visual Studio 2017, go back into the installer and install the "ATL C++" workload. Now when you go through the SQL Server 2017 install it will say C++ already installed and the installation will be successful.
I got the solution :
remove VC++ 2017.
download VC++ 2015 from here
install VC++ 2015
install SQL Server 2017
install SSMS 2017
I also had this problem. I just repair the program Microsoft Visual C++ 2017 Redistributable (x86) - 14.16.27029 from Add Remove Program and setup run without any error.
I also found running the repair of the Microsoft Visual C++ redistributable corrected the issue and was able to install SQL 2017 RTM Cumulative Update (CU) 23 KB5000685
Uninstalling the following from Programme and Features option fixed my issue.
Microsoft Visual C++ 2015 Redistributable
MSSQL 2017 installation will automatically add it once the installation is completed.
First make sure you haven't installed SSMS before,
First install SQLSERVER then SSMS.
To resolve this error just uninstall MS visual C++ Redistributable v13/v15/v17 as they get installed already when you install SSMS before.
Run the setup again it will continue installation.

Resources