SSIS package edit - sql-server

I have an one data transfer package with .DTSX extension.
I want to edit that package.
Please help me.

DTS was the old extension name used for Integration Services packages.
DTSX is new (I guess my new! refers to SQL2005)
With recent releases SQL Server introduced SQL Server Data Tools which is very similar to Visual Studio but concentrated on SQL Server tasks.
SQL Server Business Intelligence developers can use SQL Server Data Tools for creating and editing Analysis Services, Integration Services and Reporting Services solutions
Here is a download link

Follow the following steps:
Open BIDS or SSDT (it depends which version of sql server development tool you have installed)
Create a new Sql Server Integration Project
copy the .dtsx package by pressing Ctrl + c and go back to the newly created project , you will see the portion "Package" in Solution Explorer , Paste your copied package here by selecting the "Package" header.
double click to this copied package, you can now edit your package.

Related

How do I open a DTSX file in Visual Studio 2019?

How do I open a DTSX file for editing using Visual Studio 2019?
I have generated a DTSX file by using the Import Data wizard found in SQL Server Management Studio, using the same process outlined in this question. The answer to that question explains how to edit a .dtsx file, but it does not appear to be correct anymore. I am using Visual Studio 2019. The answer says I need to use this link to download SQL Server Data Tools for Visual Studio:
Download and install SQL Server Data Tools (SSDT) for Visual Studio
But at that link, it says:
Changes in SSDT for Visual Studio 2019
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. The core SSDT functionality to
create Database Projects has remained integral to Visual Studio (you
need to select the Data storage, and processing workload during
install). There's no more standalone SSDT installation required.
If you already have a license to Visual Studio 2019:
For SQL Database Projects, install the Data storage and Processing
workload for Visual Studio
For Analysis Services, Integration Services
or Reporting Services projects, install the appropriate extension(s)
from the marketplace
I believe I need Integration Services, but it doesn't have a link to the appropriate extension in the marketplace. Through various googling paths1, everything keeps pointing back to the SQL Server Integration Services Projects extension. I have installed this extension2, but I am still unable to open DSTX files.
Here's how I'm attempting to do it: In Visual Studio, am going to File|Open Project. Then I browse to the folder with the .dtsx file in it, change the filter to *.* (because .dtsx isn't in the list of supported project extensions), choose the file, and click Open. I get this message box:
So, my question again: How do I open a DSTX file from Visual Studio 2019?
See below for detailed versions and installed extensions.
1 For example, see Lesson 1-1: Create a new Integration Services project, where they create a DSTX project. The lesson's Prerequistes instructs you to install the SQL Server Data Tools from Download SQL Server Data Tools, which is the same link from above.
2 I note that version 3.1 of the extension is currently labeled a Preview and that release notes for this version includes the text, "This is the second preview release. We do not recommend using it for production." But I do not see where I am able to download an earlier version of this extension, either from the marketplace website or from in Visual Studio. I would try the latest production release if I could find it, but it doesn't seem to be available.
I also see there are two notes about issues with this preview release. Neither seem relevant to my situation. The first is a regression in VS 16.2 where they recommend upgrading to 16.2.3. I am already on 16.2.4. The second is an issue where the extension and/or Visual Studio Tools for Applications 2019 might be deleted during a VS instance upgrade. I have not done any upgrades to VS since installing this extension.
Installed Software
Visual Studio 2019, version 16.2.4
SQL Server Management Studio, version 17.9.1.
In Visual Studio, when I go to Help|About Microsoft Visual Studio, I also see the following listed in Installed Products (this list is not complete; it includes only the items that seemed relevant):
SQL Server Data Tools 16.0.61906.28070
SQL Server Integration Services 15.0.1301.433
In Visual Studio, when I go to Extensions|Manage Extensions, I see SQL Server Integration Services Projects in the list of installed extensions.
The error message indicates you are trying to open a project/solution. DTSX is a package.
You first need to open the .sln or .proj file. Within the project (solution explorer) you can open the dtsx. Do not try to open the dtsx file from the source control explorer as that does not open with the project references.
In summary, open the solution/project, then open the package from the solution explorer.
To edit and create integration services packages (.dtsx) is necessary to install SQL Server Integration Services Projects.
After installation Visual Studio 2019 can create or edit integration packages either independently (open file) or in Integration Services Project. It is also possible to open packages on SQL server even when SSMS fails with message:
Connecting to the Integration Services service on the computer "xxxx" failed with the following error: "Access is denied."
You will have to install SSMS, SSAS from VS Extensions> (In VS Menu, click "Extensions" and then "Manage Extensions

Package running in SSDT but not through the Execute Package Utility

I created a package that will run in SSDT, but it will not run through the execute package utility when saved to the filesystem. Perhaps there is an easy fix, but I am unaware of one, and googling didn't seem to yield anything useful.
I am running SQL Server Enterprise 2017, as well as Visual Studio 2017 with the most recent version of SSDT. I have tried installing SQL Server 2018 to no avail.
The point is scheduling the package, one solution would be for package to run through DTExec.exe, alternatively if there is a way to automate running the package through SSDT that would also work.
The error:
To run a SSIS Package outside of SQL Server Data Tools you must install Standard Edition of Integration Services or higher.
The catch:
afaik I have SQL server enterprise installed as I can save SSIS packages to the file system through the SQL Server Import Export Wizard (before I received enterprise edition it said originally it required SQL server standard edition or higher to save the packages)
Make sure that you have selected the Integration Services check box while installing SQL Server features. It looks like you have installed SQL Server Data Tools for Visual Studio which allows you to create SSIS packages but you didn't install SSIS feature which is required to execute packages.
You can refer to the following official documentation for additional information:
Install Integration Services
Make sure you have select the relevant TargetServerVersion property in the project configuration. You can refer to the following link for more information:
How to change TargetServerVersion of my SSIS Project

Difference between SSDT in VS and Integration Services in SQL Server

I'd like to know the difference between SSDT in Visual Studio and Integration Services in SQL Server. When developing SSIS package locally using SSDT in VS I could pass data to my local SQL Server without Integration Services being installed in SQL Server instance. I'm wondering if I need Integration Services to allow between servers communication. Let's say when SQL Server DB is on one server and .dtsx package is on another.
This is where Microsoft's marketing department has run amok. It is important to understand that Microsoft is not a company that writes code. Microsoft is a marketing company that happens to write code.
The simple answer is that SSDT is the package of project templates for what is intended to be Business Intelligence.
SSDT contains three template types:
SSIS: Integration Services
SSRS: Reporting Services
SSAS: Analysis Services
UPDATE
I failed to answer the question of running the packages. Basically, you can run any SSDT package against SQL Server within Visual Studio. However, if you want to deploy the SSDT packages to the SQL Server, then you must have those services installed. The services can be installed via the SQL Server instance installation wizard. You will need to be mindful of another hairy concept that is known as SQL Server Version Targeting: Click Here
For example, if you want to deploy and run SSIS packages to SQL Server, then you will need to install Integration Services (this will include DTExec.exe and ISDeploymentWizard.exe). Now, you will also need to install SSISDB to the SQL Server in order to be able to deploy SSIS packages to the SQL Server - this is performed via SQL Server Management Studio (SSMS). The actual packages are both deployed to, and managed from, a folder called Integration Services Catalog. The packages can then be automatically scheduled to run via the SQL Server Agent. It is extremely unlikely that you will ever work directly with the SSIDB, other than perhaps querying it for information: see here.
See Microsoft's instructions: click here
SSRS packages are managed through a separate Web-UI and I have not dealt with SSAS packages. Isn't this fun!?
A note on DTExec.exe
I have ran into purists who disdain SSIS, largely because they do not understand it. The general argument that I get is that it is slower than PowerShell or Stored Procedures. This may cause someone's head to explode.
Basically, PowerShell runs through the .NET Framework, which is in C# and has to run through a few layers in the OS in order to execute. While SSIS components are written in C#, the DTExec.exe application is written in C++, which can access system resources directly (C# cannot do this because it is managed code!). So, SSIS is going to blow PowerShell and Stored Procedures away in large tasks.
Stored Procedures are a different animal, but still slower because they lack the pipeline buffer (i.e. data flow tab). Another major limitation is how SQL Server executes Stored Procedures and that is sequentially. So, let us imagine that a comparable SSIS job is broken into multiple stored procedures and that those procedures are called by a main stored procedure - a super stored procedure so to speak. SQL Server will execute the stored procedures sequentially, one at a time - this is a huge performance bottleneck. SSIS's pipeline buffer obliterates that by processing a default of 10,000 rows (this is configurable btw) in each task and then passing them off to the next task. So, we can think of data flow tasks as their own stored procedure.
Additional Context
There is a long running confusion with what constitutes SSIS as it relates to Visual Studio, not necessarily SQL Server.
Pre 2005: It was Data Transformation Services (DTS)
2005 & 2008: In 2005, DTS was substantially overhauled and renamed to SSIS late in the development. That is why everything in SSIS still references DTS (i.e., *.dtsx files). It remains the case to this day. Odd, only a masochist likes DTS. BUT! The package of templates was renamed to Business Intelligence Development Studio (BIDS)
2012 & 2013: It was renamed to SSDT-BI. Apparently, there was already another product named SSDT
2015 and forward: It is now named SSDT
See Microsoft's attempt to explain SSDT: click here
Up through Visual Studio 2017 (VS 2017), SSDT and its various incarnations have been largely treated like the idiot step child to Visual Studio. I say this because VS was installed as a standalone product for these project types only. I don't know why it was done this way - my best guess is because SSDT is free. Anyways, if you wanted to use Visual Studio for other application development then you had to install a separate instance of Visual Studio. So, us developers quite literally have two standalone installations on our dev box and we have to use the specific install for whatever we are doing (i.e., SSDT or non-SSDT development).
Now, with VS 2019, Microsoft is doing away with this model and has finally integrated the SSDT package into the product. Though, the initial roll out of VS 2019 for SSDT was a comedy of errors right out of the box. See my explanation by clicking here. Basically, SSIS does not install with the package and has to be added separately. Though, you still have one instance of VS 2019. Additionally, the SQL11 data provider has been deprecated. And, that too apparently does not come with the installation package either and needs to be installed separately. So, any existing packages that use it will need to be upgraded and re-deployed (see Known Issue #1).
I am holding off on upgrading to VS 2019 for now. VS 2017 has been a pain to say the least. I personally still use VS 2013 Update 5. All VS instances are targeting SQL Server 2014.
Beside of #JWeezy good and detailed answer, i'd like to add a brief explanation:
SQL Server Data Tools for Visual Studio are the development environment for the SQL Server business intelligence suite (SQL Server Integration Services, Reporting Services, Analysis Services).
SQL Server Integration Services (installed from SQL Server installation), install all the files needed to run SSIS packages on the local machine.
Both products can run .dtsx packages but the first one is only for development and testing purposes while the second one is for production server.
References
Previous releases of SQL Server Data Tools (SSDT and SSDT-BI)
SQL Server Integration Services

VS 2019 SSIS package can't add SQL Server

I installed Visual Studio 2019 and the SSIS package extensions and created a new project. I'm able to add my SQL Server as a Connection Manager with no issues, but when I then drag a Data Flow Task to the package and drag a Source Assistant into that, I'm not able to select my SQL Server.
The source types shown are Excel, Flat File, and Oracle. If I uncheck the "show only installed source types" then I see SQL Server but I can't pick it.
The interesting thing is on this same box I've been editing an SSIS project with Visual Studio 2017 so I know the SQL Server stuff works fine. However, if I open that existing project none of the connection managers show up in Visual Studio 2019.
Answer: You need the new Microsoft® OLE DB Driver 18 for SQL Server
Context:
This was a s*** show right out of the box (see the comments on GitHub).
https://github.com/MicrosoftDocs/visualstudio-docs/issues/2592
Apparently SSIS was not included in the installer and so it does not install even when you select the Data Storage and Processing package in the installer. SSIS currently can only be installed by downloading via the Marketplace here:
SQL Server Integration Services Projects - Visual Studio Market Place
Under the known issues section, item 1:
SQL Server Native Client (SQLNCLI11.1) is deprecated and not installed
by VS2019. We recommend upgrading to the new Microsoft OLE DB driver
for SQL Server. If you want to continue using SQL Server Native
Client, you can download and install it from here.

Move SSIS Packages from SQL Server 2008 R2 to SQL Server 2016

We are moving all of our SSIS packages from SQL Server 2008 R2 to SQL Server 2016. I suspect each SSIS package will need to be upgraded but I have been told otherwise.
Will all SSIS packages need to be upgraded to to work on the new SQL 2016 server? Should they be upgraded on the SQL 2008 R2 Server and then moved to the new Server? Or should we move the packages and then do the upgrades?
Also we have a large number of SSIS packages to upgrade. Will the SSIS Upgrade Wizard do these upgrades in bulk?
Here is a rough process that I am proposing we follow:
Use Data Migration Assistant to check for potential issues
Use SSIS Upgrade Wizard to update the packages
Manually resolve any issues
Test the packages
Are there any other things I should be concerned with?
I upgraded a set of SQL Server Integration Service packages recently by just importing them to a SQL Server Data Tools project.
The upgrade is done automatically and hands free by Visual Studio. Then you can attach them to 2016 SQL Server Integration Service .
I also recommend you check the following link from Microsoft that describes how to upgrade SSIS packages using the Package Upgrade Wizard :
Upgrade Integration Services Packages Using the SSIS Package Upgrade Wizard
The way we are upgrading is to create new projects/solutions in SSDT 2016 (Visual Studio), import the existing 2008 packages into the 2016 projects, and letting Visual Studio perform the upgrade while converting them to the Project Deployment model. Then we deploy them to the 2016 SSIS Server.
There are multiple ways to do it, and which way is "best" is a matter of opinion and may vary from case to case.
I agree that the best way to migrate is to create a new project in the VS 2016 solution, as the projects for VS 2008 and VS 2016 differ and you can not simply migrate them with any tool.
Here were my steps for migrating:
1) Open Command Prompt, run SSISUpgrade.exe from C:\Program Files\Microsoft SQL Server\130\DTS\Binn (Note path may vary depending on the version of SSDT you are using)
2) In the SSIS upgrade tool specify the path to VS 2008 solution and follow all the wizard steps up to finish.
3) Open the upgraded solution with VS 2016, remove the project from it(perhaps it didn't loaded correctly)
4) Create the new project of type Business Intelligence - Integration Services Project
5) Right click on the project -- add existing item, and then add dtsx package, config file for, all Powershell scripts and all other stuff than is used by this dtsx package
Keep mind, that VS 2016 will create a new folder for the project inside the solution folder, and place dtsx files, and all the stuff you've added in step 5.
And all of it should be kept in this separate folder, otherwise solution won't work.

Resources