Presentation slides - Locklin.org > Home
Download
Report
Transcript Presentation slides - Locklin.org > Home
Nate Locklin
◦ Database Analyst, PPG Industries
◦ [email protected]
Steve Tirone
◦ Data Warehouse Analyst, Amerinet
◦ [email protected]
Survey:
◦
◦
◦
◦
What is SSIS?
Use it occasionally
Use it every day
I wrote the book on advanced SSIS
Given that we didn’t know, we wanted to
present something generally useful, hence
◦ “Three best practices to keep in mind when
developing and deploying SSIS packages”
Open BIDS (Business Intelligence
Development Studio)
Available in VS2005, VS2008, but not VS2010
(yet)
Incidentally, the Import/Export wizard in
Management Studio runs SSIS under the hood
Several tabs at the top
◦
◦
◦
◦
Control Flow: your top level workflow workspace
Data Flow: details of data transfer operations
Event Handlers: where you can handle raised events
Package Explorer: like a site map of your package
Start by dragging Tasks to your Control tab
Most commonly used tasks are probably:
◦ Data Flow
◦ Execute SQL
Let’s import the DJIA stock prices
◦ downloaded from Yahoo Finance into an Excel
spreadsheet
Two often used log providers
◦ Text Files
◦ SQL Server (sysssislog in 2008, sysdtslog90 in
2005) – created when first used
Many events possible to log
◦ OnError and OnTaskFail events most common
◦ Can reduce detail to Computer, Source, and
Message
◦ Here you will find all the error messages:
http://msdn.microsoft.com/enus/library/ms345164.aspx
Properties of objects can be changed at runtime
No need to change the package itself to
promote from test to production
◦ Connection string is all that’s needed to change
Several formats:
◦ XML configuration file most commonly used
Checkpoints let a package start where it left
off previously, such as when an error occurs
in the middle of your package
◦ Lets you fix the error, then restart the package,
without it re-running the parts already done
Set the following properties of the Package
◦ CheckpointFileName = <some name>
◦ CheckpointUsage = IfExists
◦ SaveCheckpoints = True
Set the following properties on all the tasks:
◦ FailPackageOnFailure = True
Most importantly:
◦ “A package can be restarted only at the control flow
level. You cannot restart a package in the middle of
a data flow.”
Also:
◦ “When a package is restarted the Foreach Loop
containers and its child containers are run again. If
a child container in the loop runs successfully, it is
not recorded in the checkpoint file, instead it is
rerun.”
RetainSameConnection
◦ Using lots of connections? Use this, please!
◦ Can be found as a property of the Connection Mgr
Packet size
◦ Consider increasing (32,767) for larger data
Row Per Batch Size
◦ Sometimes speed is enhanced when setting the
“Rows per batch” to something other than blank,
like 1000, 5000 or 10,000 (particularly when run
through BIDS over the network)
Property of the Connection Manager
On All page of the Connection Manager
Package protection level
Default is Encrypt with User Key, but you want
Encrypt with Password (all or sensitive)
Know your environment (64 bit vs 32 bit)
◦ Might get
[Connection manager "Excel Connection Manager 1"]
Error: SSIS Error Code
DTS_E_OLEDB_EXCEL_NOT_SUPPORTED: The Excel
Connection Manager is not supported in the 64-bit
version of SSIS, as no OLE DB provider is available.
◦ Or
Class not registered
The 64 bit issue may be addressed by telling
Integration Services to use 32 bit runtime
In the SQL Agent job step:
Property of the PROJECT:
Great flexibility in error handling if you
“program” the OnError handler
Implement Logging
Use Configuration Files for flexibility
Checkpoints can be useful
Know your environment
Keep small design considerations in mind
Nate Locklin
◦ Database Analyst, PPG Industries
◦ [email protected]
Steve Tirone
◦ Data Warehouse Analyst, Amerinet
◦ [email protected]
Slides are at
http://tinyurl.com/SSISBestPractices
Future BI Topics?
◦ Integration Services (SSIS)
◦ Reporting Services (SSRS)
◦ Analysis Services (SSAS)
SQL Saturday?
◦ BI Edition?
◦ Volunteers to help coordinate?
Email Gina or Steve