Professional Documents
Culture Documents
Housekeeping
Venue
Tea / Coffee
Comfort Break (maybe)
Presentations
Duration
Questions welcome
Speaker Bio
Richard Munn
DBA @ Nationwide Building Society
Experience: 15yrs IT, 11yrs SQLServer
Blog: http://sqlmunkee.blogspot.com
Twitter: @sqlmunkee
Mail: SQLMunkee@gmail.com
Social status: Northener
Presentations
1 - Quick comparisons between SSIS and
SDS
2 - Overview / Explanation
3 Demonstration (I hope)
Knowledge of SSIS / ETL terminology is assumed
Disclaimer
<presentation1>
Comparisons
Feature
SSIS
SDS
ETL Operations
Yes
Yes
Sharing
No
Yes
Yes
No
Custom objects
Yes
Yes
Standalone development
Yes
Yes (but)
Custom
Built-in
No
Yes
Push down
WTF ?
Yes
Script support
Yes
Yes
VB.net / C# (2008)
Python
TryCatch
Metadata and Lineage
Script Language
Job Execution
SSIS just requires a command line
(DTExec)
SDS (even in development) needs:
A job to contain Workflow / Dataflow
A job server to execute the job
Restartable Jobs
Must be hand-crafted in SDS
Complex logic required with multiple
Workflows, TryCatch, Parameters,
Variables, etc
Built-in with SSIS
Challenges
Requires dedicated, experienced
developers and support staff (IMHO)
Does the job in a controlled and ordered
manner.
Not as user-friendly as SSIS.
</presentation1>
<presentation2>
All aboard the big yellow fun bus !
Key Elements
Repository / Repositories
Data Services Designer
Job Server / Server Group
Management Console
Repositories (1)
Somewhere to store your objects:
Projects
Jobs
DataSources
DataFlows
WorkFlows
Transforms
More on these later
Repositories (2)
4 types:
Local - Held on a local DBMS
Personal * - Work in progress
Central - Items to be used / shared
Secure - Only Admin access (this can be a problem)
Jobs (1)
Anything you want to do is treated as a job in
SDS
Jobs usually contain WorkFlows and DataFlows
(but you can have one without the other, unlike
SSIS)
2 types:
Batch Job
Real-Time Job
Jobs (2)
Batch Job
Commonly single unit-of-work
Overnight / Off-peak ETL processing
Real-Time Job
Creates a Web service
Typically 3Flow/2Transform data movement
Simple operations ONLY please
Job Servers
Actually runs your job (even if youre
moving data about locally)
Multiple Job Servers can function as a
Server Group
Server Groups share the submitted jobs
between them, but once a job starts it
cant move servers (ask me about this)
Management Console
Single point of administration for
Users
Job Servers (reporting)
Repositories
</presentation2>
Comfort Break
If we havent already had one..
<presentation3>
Lets go look see
</presentation3>
Questions ?
GOTO: Pub()