SQL Server Performance

  • Home
  • Articles
  • Forums
  • Tips
  • Training
  • FAQ's
  • Blogs
  • Software
  • Books
  • About Us
RSS Feeds
Sign in | Join


Tip Topics

All Tips
ADO.NET / ASP.NET
Administration
Analysis/OLAP Services
Application Development
Configuration
Components
ETL
Hardware
High Availability
Hints
Index
Misc
Operating Systems
Performance Tuning
Replication
T-SQL
Views

USEFUL SITES :

ASP.NET Tutorials
Windows and SQL Azure Tutorials
Cloud Hosting Magazine
SharePoint Tutorials
Windows Server Help

Write for Us

Share your SQL Server knowledge with others and raise your profile in the community More...
Latest Articles

A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server

More     
 
Latest FAQ's

Add Node to A SQL Server failover Cluster failed with invalid ...
SQL Server Destination remote server error
Setting Up Data And Log Files For SQL Server
Will Check Constraints Improve Database Performance?

More     
   
Latest Software Reviews

dbForge Review
Spotlight on ApexSQL Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Data Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Doc 2008

More     

tips >> etl >> Performance Tuning Tips for SQL Server DTS ...

Performance Tuning Tips for SQL Server DTS

By : Brad McGehee
Jan 09, 2007

When using DTS, if you have a choice, use the native OLE DB provider instead of the ODBC provider when importing and exporting data, as it provides better performance [7.0, 2000] Updated 4-17-2006

*****

ActiveX scripts, within DTS packages, slow down data importation, transformation, and exportation. If possible, try to avoid using ActiveX scripts when creating DTS packages. [7.0, 2000] Updated 4-17-2006

*****

If you choose to use ActiveX scripts in your DTS packages — and you must often do so in order to accomplish your task at hand — choose from the various scripting options in this order, from fastest to slowest: VBScript, JScript and then PerlScript. [7.0, 2000] Updated 4-17-2006

*****

To speed up your ActiveX scripts within DTS packages, refer to table columns using their ordinal number instead of their name. [7.0, 2000] Updated 4-17-2006

*****

The DTS data pump is slowed down when mapping a separate transformation function for each column. If possible, try to avoid transforming columns when moving data from one table to another. [7.0, 2000] Updated 4-17-2006

*****

DTS Lookups slow down performance. Instead, try to use a Transact-SQL statement to perform the same function within your DTS package. In addition, avoid using global variables or COM objects for performing lookup type functions, as they are even slower than using a DTS lookup. [7.0, 2000] Updated 1-14-2005

*****

To speed the performance of DTS packages, try to create your steps so that they can run in parallel, instead of sequentially. This allows the various steps to run simultaneously and complete their work faster. To ensure DTS steps run in parallel, don't configure them with any precedence constraints. [7.0, 2000] Updated 1-14-2005

*****

If you will be transforming data within your DTS package, one of the options available to you is the "Fetch Buffer Size". This option is available from the "Advanced" tab of the "Data Transformation Properties" screen in SQL Server 7.0, or from the "Option" tab of the "Transform Data Task Properties" screen in SQL Server 2000. This option is used to specify the number of rows to fetch in a single operation from the specified OLE DB data source. The default value is 100.

Generally, you do not need to change this value, but in some cases it can be beneficial. For example, if the data you are retrieving from the data source is sequential, such as in primary key or clustered index order, then increasing this value can reduce disk I/O, helping to boost performance. While I/O is decreased, SQL Server will have to use more memory to hold the larger chunks of data. Assuming I/O is more of a bottleneck on your server than memory, this can be a beneficial tradeoff. Unfortunately, there is no easy way to identify what the ideal value should be for the "Fetch Buffer Size". You will have to test yourself to see if changing this value is beneficial to you.

If you run a job often, and the job is long because of the amount of data that has to be moved and transformed, then experimenting with this option may be worthwhile. But if the job runs rarely, or the amount of data involved is minimal, then leaving this option set to the default value is your best bet. [7.0, 2000] Updated 1-14-2005

*****

By default, whenever a DTS package is opened, DTS has to read the registry to see if there are any new OLE DB data sources or tasks. This process can be "relatively" time consuming. If you know that you are not adding or changing OLE DB data sources or tasks, then you can tell DTS not to read the registry each time. Instead, what happens is that the information is read once, then this information is cached and reused each time the DTS package is opened.

To turn on this feature (which is turned off be default), right-click on the "Data Transaction Services" group and select "Properties." Then in the "Package Properties" windows, select the "Turn on cache" option. If you find that any OLE DB data sources or tasks have changes after you have turned caching on, you can click on the "Refresh Cache" option on this same window to update the cache. [2000] Updated 1-14-2005

*****

Assuming you don't need to transform data during a DTS import in SQL Server 2000, the Bulk Insert task provides the fastest data loads into SQL Server. Not only does the Bulk Insert task not allow any transformation, it also does not permit changes in column mappings, or to import data into any other database other than SQL Server, or to create an exception log file for bad records. [2000] Updated 1-14-2005


    Next Page>>    








C# Help and Tutorials | PHP MySQL Tutorial | Sharepoint Tutorial | Azure Tutorial | Cloud Hosting Magazine | ASP.NET Tutorials | Windows Server Help | Windows Phone Pro | Silverlight Ace | Visual Studio Tutorials | Home | Peformance Articles | Audit Articles | Business Intelligence Articles | Clustering Articles | Developer Articles | Reporting Services Articles | DBA Articles | ASP.NET / ADO.NET Articles | SQL Server Training Videos | DBA FAQ's | Developer Peformance FAQ's | DBA Peformance FAQ's | Developer FAQ's | Clustering FAQ's | Error Messages | Audit Tool Reviews | Backup Tool Reviews | Coding Tool Reviews | Compare Tool Reviews | Documentation Tool Reviews | Design Tool Reviews | Monitoring Tool Reviews | Log Tool Reviews | Reporting Tool Reviews | Clustering Tool Reviews | Security Tool Reviews | Change Management Tool Reviews | Remote Access Tool Reviews | Book Reviews | Security Tool Reviews | ADO.NET / ASP.NET | Administration | Analysis/OLAP Services | Application Development | Configuration | Components | ETL | Hardware | High Availability | Hints | Index | Misc | Operating Systems | Performance Tuning | Replication | T-SQL | Views


              © 2010 Jude O'Kelly. All rights reserved