Microsoft SQL Server Source

MSSQL data sources connect to SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 or Azure SQL Servers for its source data.

There are three ways of connecting to a source SQL Server in Profitbase Studio; via linked server, PowerShell or via SSIS.

Linked Server or SSIS using SQL Server Destination Adapter is most often recommended if source data is on same SQL Server. Performance and memory utilization is better for SSIS using SQL Server Destination compared to SSIS using OLEDB Destintion.

Linked Server is usually the slowest option.

Note! For MSSQL; PowerShell differs from the other connection methods in that it performs the transfer in two stages. First from source to staging and then from staging to data warehouse table adding column mappings in the process. This enhances the need to select only relevant columns for import to the staging table.

 

Example - loading data from external SQL Server


1. Using MSSQL SSIS; set Destination Adapter to SQL Server Destination: (Only suggested if SQL Server is same as solution/data warehouse SQL server)

 

PS6_MSSQL_Perf_SSIS_SQLDest2.PNG

 

Performance test: Second time reload of source table using SSIS with SQL Server Destination took 4 minutes 36 seconds.

PS6_MSSQL_Perf_SSIS_SQLDest_SlowLoad.PNG

 

2. Using MSSQL SSIS; set Destination Adapter to OLEDB Destination:

 

PS6_MSSQL_Perf_SSIS_OLEdbDest.PNG

 

Overwrite existing SSIS Destination Adapter settings for all data source tables:

 

PS6_MSSQL_Perf_SSIS_OLEdbDest2.PNG

 

Performance test: Second time reload of source table using SSIS with OLEDB Destination took 4 minutes 21 seconds.

PS6_MSSQL_Perf_SSIS_OLEdbDestSlowLoad.PNG

3. Change Connection Method to Linked Server:

PS6_MSSQL_Perf_LinkedServer.PNG

 

Performance test: Second time reload of source table using linked server took 8 minutes 56 seconds.

PS6_MSSQL_Perf_LinkedServer_SlowLoad2.PNG

 

4. Change Connection Method to Power Shell:

PS6_MSSQL_Perf_PoSh.PNG

 

Overwrite existing table prefixes:

PS6_MSSQL_Perf_PoSh2.PNG

 

Performance test: Second time reload of source table using PowerShell took 7 minutes 53 seconds.

PS6_MSSQL_Perf_PoSh_SlowLoad2.PNG