DTS exchange tool - ssis

We have a large collection of DTS packages that need to be converted to SSIS as part of SQL upgrade?. How effective is this tool compared to the wizard?. Some of the functionality that is available in DTS
Import/Export
SQL operations
Copying/Renaming/moving files
Activex scripts (Not complex, most of the business functionality is in Stored procedures). Any help in sharing documentation or web links or any insight is well appreciated.

You can find a full comparison here: http://www.pragmaticworks.com/products/business-intelligence/dtsxchange/DTSxChange-vs-MSWizard.htm
At a high-level, the existing Microsoft wizard does not handle some common tasks like Dynamic Properties Task. It also doesn't handle things like ODBC or all the flat file conditions. With the DTS xChange tool, it will migrate pretty much all conditions, re-engineer the logging and auditing framework of the package and turn on some of the new features in SSIS. It also includes BI xPress, which will help migrate ActiveX Scripts post-migration with code snippets.

Related

How Adventureworks DW 2016 is developed using SSIS?

I know it's not a new question but maybe somebody find some documentation and/or the sql scripts and SSIS ETL used to create Adventure works DW (2014 at least).
Not sure why Microsoft released a lot about AdventureWorks for Analysis Services ( https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks-analysis-services ) but nothing for SSIS.
Any help will be much appreciated.
Adventure works DW (tables and procedures) are part of an executable which installs the SQL objects (facts and dimension) tables in the target edition of SQL Server instance.
Never has been the case to create such dimensional model using SSIS since this data is static and one-off. You may want to create SSIS artifacts on top of this DW and there are a lot of samples and workflows available online for reference.
One such repository on Git is - Repo link

Reporting Services Data Model

Were still using Reporting Services for SQL2008 (not SP2). I recently started using report builder 2.0, but it looks like report builder isn't able to modify data models - and VS2010 lacks business intelligence features. My question is: Have data models been depreciated? If not, what is the current tool for managing them? I have new reports to write so I'm trying to think ahead. Can datasets be used, and access controled, for ad-hoc reporting?
There isn't a way to modify the report models using vs2010 you would still have to have vs2008 BIDS installed to be able to modify these. It looks like reports models may be depreciated from SQL 2012 (http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/0d0650d1-6d40-4d12-a471-54fb29b3356d).
If you starting a new project then personally I would look at using shared data sets based on views or stored procedures as these will be a lot easier to maintain and use. You can then use the permissions on these to control who has access to what.

Stored procedures in SSIS Packages

We are doing a huge Data Migration Project using SSIS packages. We were insisted on not using stored procedures in SSIS packages. Can you please suggest whether we should be using stored procedures in SSIS packages or not? What are the advantages of using stored procedures?
It is correct that merge statements can easily be used in SSIS and your directive to encapsulate everything in SSIS is not necessary, as SQL processing aggregations faster than SSIS, for example. Further, if you are not deploying to SSISDB or have proper logging wrappers or email alerts, then troubleshooting your ETL is going to be more difficult via the SQL agent than otherwise as the errors are frequently more cryptic - thus the SSISDB and its reports in 2012. SSIS can be extremely powerful, however.
Here is a fairly blatant benchmark that will tell you never to use the out of the box SCD ever in SSIS. Taskfactory however does have a nice deployable which does basically merges behind the scene.
SSIS has more powerful functions than Stored Procedures.
However you can easily use Execute T-SQL Statement tasks in SSIS for existing tasks, and then build out from there.
SSIS is superior at the vast majority of ETL
Below Via Microsoft
Microsoft Integration Services is a platform for building enterprise-level data integration and data transformations solutions. You use Integration Services to solve complex business problems by copying or downloading files, defining business logic, sending e-mail messages in response to events, updating data warehouses, cleaning and mining data, and managing SQL Server objects and data. The packages can work alone or in concert with other packages to address complex business needs. Integration Services can extract and transform data from a wide variety of sources such as XML data files, flat files, and relational data sources, and then load the data into one or more destinations.
Integration Services includes a rich set of built-in tasks and transformations; tools for constructing packages; and the Integration Services service for running and managing packages. You can use the graphical Integration Services tools to create solutions without writing a single line of code; or you can program the extensive Integration Services object model to create packages programmatically and code custom tasks and other package objects.
A stored procedure in SQL Server is a group of one or more Transact-SQL statements or a reference to a Microsoft .NET Framework common runtime language (CLR) method. They can be called from within SSIS just the same as the unencapsulated SQL statement. For more information about it, please see: http://msdn.microsoft.com/en-us/library/ms190782(v=sql.110).aspx

Comparing SSIS package code...any suggestions?

I've hit the inevitable state where I have to do a diff on the code within two versions of a SSIS package.
What have you used successfully other than what I'm going to do now by opening up 2 instances of VS and go over it box by box and variable by variable?
Note: The things that are important to compare in my case are:
Variables
Code in Execute SQL Tasks
Order of Tasks
Data Flows
Order of data flow components
Try BIDS Helper. It prepares both versions by normalizing whitespace and splitting long lines before making the comparison. Most changes can be easily recognized.
A Visual Studio extension has been deployed in March 2017 to Visual Studio Marketplace. It is called SSIS Compare and Merge Tool. You can install it using Tools menu than Extensions and updates and search for online extensions or download and install the .VSIX file from Visual Studio Marketplace
https://marketplace.visualstudio.com/items?itemName=TamasTIPost.SSISCompareMergeTool-18170
There are some utilities that will do this:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.sqlserver.dts&tid=0619e97f-4dd4-4946-bd41-888e751a5d72&cat=en_US_2b8e81a3-be64-42fa-bd81-c6d41de5a219&lang=en&cr=US&sloc=&p=1
ApexSQLDiff
Randy
I use Notepad++ to compare dtsx (xml) files. Some times even write some code to extract components for example to extract all SQL stored in a large SSIS package with dozens of ExecuteSQL tasks.
UPDATE: Just found this Bi xPress. Here is a video explaining how it works
Updated with the latest locations and consolidated the different answers.
There are a number of tools that try to help managing, comparing and merging SSIS and other otherwise difficult to merge file formats favored by SQL Server Analysis Services, Integration Services and reporting services.
Putting SQL code in stored procedures and managing these using SSDT and Git/TFVC is a useful first step. For the more exotic file formats extend your toolbelt with additional tools like:
BI Developer Extensions (formerly BIDS Helper) free!
Apex SQL Diff Pro
Bi xPress
SSIS Compare Merge Tool
Each work slightly differently and the cost varies, but they all apply normalization and visualization to help you understand and potentially merge the differences between these files.
Aside from that, many changes may be possible with enough understanding of the XML using tools like Notepad++ or Araxis Merge. Many merge tools now have have special XML compare/merge capabilities where you can configure how files should be normalized prior to comparison.

What are good resources to learn advanced SSIS?

Please recommend books/blogs to learn adavnced SSIS (2008)
Good stuff over at SSIS Advanced Techniques and for ETL best practices in general, check out the Kimball Group (and related publications).
I would recommend this blog post which describes a SSIS package design pattern for loading a data warehouse.
It describes in detail a solution for dividing your SSIS packages into the 3 phases (Extract, Transform, Load) so that you can control and run each of them individually if necessary.
There are also many other great blogs about SSIS at http://sqlblog.com, so go there and search for SSIS.
Another advanced SSIS ressource could be the enhancement to the existing Slowly Changing Dimension Wizard in SSIS, called SSIS Dimension Merge SCD Component.