Acknowledgments |
|
xi | |
Foreword |
|
xxiii | |
Introduction |
|
xxv | |
Who This Book Is For |
|
xxv | |
How This Book Is Structured |
|
xxv | |
What You Need to Use This Book |
|
xxvi | |
Conventions |
|
xxvii | |
Source Code |
|
xxvii | |
Errata |
|
xxvii | |
p2p.wrox.com |
|
xxviii | |
|
Welcome to SQL Server Integration Services |
|
|
1 | (18) |
|
What's New in SQL Server 2005 SSIS |
|
|
1 | (2) |
|
|
2 | (1) |
|
The Business Intelligence Development Studio |
|
|
3 | (1) |
|
|
3 | (6) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (2) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (3) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
Error Handling and Logging |
|
|
14 | (2) |
|
Editions of SQL Server 2005 |
|
|
16 | (1) |
|
|
17 | (2) |
|
|
19 | (24) |
|
|
19 | (6) |
|
Using the Import and Export Wizard |
|
|
19 | (6) |
|
Package Installation Wizard |
|
|
25 | (1) |
|
Business Intelligence Development Studio |
|
|
25 | (2) |
|
Creating Your First Package |
|
|
27 | (1) |
|
The Solution Explorer Window |
|
|
28 | (4) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
The SSIS Package Designer |
|
|
32 | (9) |
|
|
33 | (3) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (2) |
|
|
43 | (30) |
|
|
43 | (1) |
|
|
44 | (2) |
|
|
46 | (2) |
|
Using the Bulk Insert and Execute SQL Tasks |
|
|
48 | (3) |
|
|
51 | (1) |
|
|
51 | (1) |
|
|
52 | (2) |
|
|
54 | (1) |
|
Using the File System and FTP Task |
|
|
55 | (4) |
|
|
59 | (1) |
|
|
60 | (2) |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
63 | (2) |
|
WMI Data Reader and Event Watcher Task |
|
|
65 | (3) |
|
|
68 | (2) |
|
SQL Server Analysis Services Execute DDL and Processing Tasks |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
72 | (1) |
|
|
73 | (46) |
|
|
73 | (7) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (4) |
|
|
78 | (2) |
|
|
80 | (4) |
|
|
80 | (3) |
|
|
83 | (1) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
84 | (6) |
|
Data Mining Model Training |
|
|
86 | (1) |
|
|
86 | (1) |
|
Dimension and Partition Processing |
|
|
87 | (1) |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
89 | (1) |
|
SQL Server and Mobile Destinations |
|
|
90 | (1) |
|
|
90 | (20) |
|
|
91 | (2) |
|
|
93 | (1) |
|
|
94 | (1) |
|
|
94 | (3) |
|
|
97 | (1) |
|
|
97 | (1) |
|
|
98 | (1) |
|
|
99 | (1) |
|
|
100 | (1) |
|
Fuzzy Grouping and Lookup |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
105 | (1) |
|
Percentage and Row Sampling |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
107 | (1) |
|
Slowly Changing Dimension |
|
|
107 | (1) |
|
|
107 | (1) |
|
Term Extraction and Lookup |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
110 | (6) |
|
|
116 | (1) |
|
|
117 | (2) |
|
Creating an End-to-End Package |
|
|
119 | (24) |
|
Basic Transformation Tutorial |
|
|
119 | (6) |
|
|
120 | (2) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (1) |
|
Typical Mainframe ETL with Data Scrubbing |
|
|
125 | (13) |
|
|
129 | (1) |
|
|
129 | (4) |
|
|
133 | (1) |
|
|
134 | (4) |
|
Looping and the Dynamic Task |
|
|
138 | (4) |
|
|
139 | (1) |
|
Making the Package Dynamic |
|
|
140 | (2) |
|
|
142 | (1) |
|
Advanced Tasks and Transforms |
|
|
143 | (64) |
|
|
144 | (6) |
|
|
145 | (1) |
|
|
146 | (2) |
|
Using SQL Output Parameters to Change Runtime Settings |
|
|
148 | (2) |
|
|
150 | (7) |
|
|
151 | (4) |
|
Import Column Example Using File Iteration |
|
|
155 | (2) |
|
Using Temp Tables in SSIS Package Development |
|
|
157 | (2) |
|
|
159 | (1) |
|
|
160 | (2) |
|
|
162 | (3) |
|
|
165 | (6) |
|
|
171 | (2) |
|
|
173 | (5) |
|
|
178 | (4) |
|
|
182 | (4) |
|
|
186 | (3) |
|
Slowly Changing Dimension |
|
|
189 | (12) |
|
Database Object-Level Tasks |
|
|
201 | (4) |
|
|
201 | (1) |
|
|
202 | (1) |
|
Transfer Master Stored Procedures Task |
|
|
203 | (1) |
|
Transfer SQL Server Objects Task |
|
|
204 | (1) |
|
|
205 | (2) |
|
|
207 | (32) |
|
|
207 | (1) |
|
|
208 | (5) |
|
|
208 | (3) |
|
|
211 | (2) |
|
|
213 | (12) |
|
|
218 | (1) |
|
|
219 | (1) |
|
|
220 | (2) |
|
|
222 | (1) |
|
|
222 | (3) |
|
|
225 | (2) |
|
Structured Exception Handling |
|
|
227 | (1) |
|
|
228 | (9) |
|
Using the Script Component |
|
|
229 | (6) |
|
Debugging the Script Component |
|
|
235 | (2) |
|
|
237 | (2) |
|
Accessing Heterogeneous Data |
|
|
239 | (40) |
|
|
240 | (10) |
|
|
240 | (4) |
|
|
244 | (6) |
|
|
250 | (9) |
|
Understanding Access Security |
|
|
250 | (1) |
|
Configuring an Access Connection Manager |
|
|
251 | (2) |
|
|
253 | (2) |
|
|
255 | (4) |
|
|
259 | (3) |
|
|
259 | (1) |
|
|
259 | (3) |
|
|
262 | (10) |
|
The Hyperlink Extractor Service |
|
|
262 | (3) |
|
The Currency Conversion Service |
|
|
265 | (7) |
|
|
272 | (6) |
|
|
278 | (1) |
|
Reliability and Scalability |
|
|
279 | (32) |
|
|
279 | (13) |
|
|
280 | (5) |
|
Containers within Containers and Checkpoints |
|
|
285 | (3) |
|
|
288 | (2) |
|
Inside the Checkpoint File |
|
|
290 | (2) |
|
|
292 | (9) |
|
Single Package, Single Transaction |
|
|
293 | (3) |
|
Single Package, Multiple Transactions |
|
|
296 | (2) |
|
Two Packages, One Transaction |
|
|
298 | (1) |
|
Single Package Using a Native Transaction in SQL Server |
|
|
299 | (2) |
|
|
301 | (3) |
|
|
304 | (6) |
|
Scale Out Memory Pressures |
|
|
304 | (1) |
|
Scale Out by Staging Data |
|
|
305 | (5) |
|
|
310 | (1) |
|
Understanding the Integration Services Engine |
|
|
311 | (30) |
|
The Integration Services Engine: An Analogy |
|
|
311 | (1) |
|
Understanding the SSIS Data Flow and Control Flow |
|
|
312 | (3) |
|
Comparing and Contrasting the Data Flow and Control Flow |
|
|
312 | (2) |
|
SSIS Package Execution Image from Package Start to Package Finish |
|
|
314 | (1) |
|
Enterprise Workflows with the Control Flow |
|
|
315 | (2) |
|
Enterprise Data Processing with the Data Flow |
|
|
317 | (22) |
|
Memory Buffer Architecture |
|
|
317 | (1) |
|
|
318 | (11) |
|
Advanced Data Flow Execution Concepts |
|
|
329 | (10) |
|
|
339 | (2) |
|
Applying the Integration Services Engine |
|
|
341 | (30) |
|
|
341 | (5) |
|
DTS Solution Architecture |
|
|
342 | (1) |
|
Common DTS Processing Practices |
|
|
343 | (2) |
|
|
345 | (1) |
|
This Is Now: Integration Services |
|
|
346 | (20) |
|
Integration Services Design Practices |
|
|
347 | (13) |
|
Optimizing Package Processing |
|
|
360 | (6) |
|
Pipeline Performance Monitoring |
|
|
366 | (3) |
|
|
369 | (2) |
|
DTS 2000 Migration and Metadata Management |
|
|
371 | (20) |
|
Migrating DTS 2000 Packages to SSIS |
|
|
371 | (2) |
|
Using the Package Migration Wizard |
|
|
373 | (7) |
|
Running DTS 2000 Packages under SSIS |
|
|
380 | (4) |
|
Package Metadata and Storage Management |
|
|
384 | (5) |
|
Managing SSIS Packages within SQL Server Management Studio |
|
|
386 | (2) |
|
Managing DTS 2000 Packages within SQL Server Management Studio |
|
|
388 | (1) |
|
|
389 | (2) |
|
|
391 | (26) |
|
|
391 | (7) |
|
Precedence Constraints and Expressions |
|
|
393 | (4) |
|
|
397 | (1) |
|
|
398 | (10) |
|
|
398 | (1) |
|
|
399 | (7) |
|
|
406 | (2) |
|
|
408 | (3) |
|
|
411 | (1) |
|
|
412 | (4) |
|
|
416 | (1) |
|
Programming and Extending SSIS |
|
|
417 | (50) |
|
|
417 | (2) |
|
Component 1: Source Adapter |
|
|
418 | (1) |
|
Component 2: Transformation |
|
|
418 | (1) |
|
Component 3: Destination Adapter |
|
|
419 | (1) |
|
The Pipeline Component Methods |
|
|
419 | (6) |
|
|
419 | (4) |
|
|
423 | (2) |
|
|
425 | (1) |
|
|
425 | (36) |
|
|
426 | (6) |
|
Building the Source Adapter |
|
|
432 | (11) |
|
|
443 | (11) |
|
Building the Destination Adapter |
|
|
454 | (7) |
|
|
461 | (5) |
|
|
462 | (1) |
|
|
463 | (3) |
|
|
466 | (1) |
|
Adding a User Interface to Your Component |
|
|
467 | (24) |
|
|
467 | (1) |
|
Building the User Interface |
|
|
468 | (13) |
|
|
468 | (3) |
|
Implementing IDtsComponentUI |
|
|
471 | (4) |
|
|
475 | (1) |
|
|
476 | (5) |
|
|
481 | (9) |
|
|
482 | (2) |
|
|
484 | (2) |
|
Handling Errors and Warnings |
|
|
486 | (2) |
|
|
488 | (2) |
|
|
490 | (1) |
|
External Management and WMI Task Implementation |
|
|
491 | (32) |
|
External Management with Managed Code |
|
|
491 | (1) |
|
Application Object Maintenance Operations |
|
|
492 | (13) |
|
Package Maintenance Operations |
|
|
493 | (1) |
|
Server Folder Maintenance |
|
|
494 | (1) |
|
|
495 | (1) |
|
|
495 | (1) |
|
A Package Management Example |
|
|
496 | (9) |
|
|
505 | (4) |
|
|
506 | (1) |
|
Programming Log Providers |
|
|
507 | (2) |
|
|
509 | (3) |
|
|
510 | (1) |
|
Programming the Configuration Object |
|
|
511 | (1) |
|
|
512 | (1) |
|
Windows Management Instrumentation Tasks |
|
|
512 | (10) |
|
WMI Reader Task Explained |
|
|
513 | (1) |
|
|
514 | (1) |
|
|
515 | (6) |
|
WMI Event Watcher Task Example |
|
|
521 | (1) |
|
|
522 | (1) |
|
Using SSIS with External Applications |
|
|
523 | (24) |
|
RSS In, Reporting Services Report Out |
|
|
524 | (8) |
|
|
532 | (8) |
|
|
540 | (5) |
|
|
545 | (2) |
|
SSIS Software Development Life Cycle |
|
|
547 | (46) |
|
Introduction to Software Development Life Cycles |
|
|
548 | (2) |
|
Software Development Life Cycles: A Brief History |
|
|
548 | (1) |
|
Types of Software Development Life Cycles |
|
|
549 | (1) |
|
Versioning and Source Code Control |
|
|
550 | (37) |
|
Microsoft Visual SourceSafe |
|
|
550 | (15) |
|
Team Foundation Server, Team System, and SSIS |
|
|
565 | (5) |
|
|
570 | (3) |
|
|
573 | (1) |
|
|
573 | (14) |
|
Code Deployment and Promotion from Development to Test to Production |
|
|
587 | (4) |
|
|
588 | (1) |
|
|
589 | (2) |
|
|
591 | (2) |
|
Case Study: A Programmatic Example |
|
|
593 | (74) |
|
|
593 | (1) |
|
|
594 | (1) |
|
|
594 | (1) |
|
|
595 | (4) |
|
|
599 | (11) |
|
File Storage Location Setup |
|
|
599 | (1) |
|
|
599 | (1) |
|
|
600 | (1) |
|
PayPal or Direct Credits to Corporate Account |
|
|
601 | (1) |
|
Case Study Database Model |
|
|
601 | (1) |
|
|
602 | (8) |
|
|
610 | (41) |
|
Naming Conventions and Tips |
|
|
611 | (1) |
|
Package Setup and File System Tasks |
|
|
612 | (4) |
|
Lockbox Control Flow Processing |
|
|
616 | (6) |
|
|
622 | (9) |
|
|
631 | (4) |
|
ACH Control Flow Processing |
|
|
635 | (4) |
|
|
639 | (4) |
|
|
643 | (2) |
|
E-mail Payment Processing |
|
|
645 | (3) |
|
E-mail Data Flow Processing |
|
|
648 | (3) |
|
|
651 | (1) |
|
Case Study Process Package |
|
|
651 | (13) |
|
|
652 | (2) |
|
High-Confidence Data Flow |
|
|
654 | (5) |
|
Medium-Confidence Data Flow |
|
|
659 | (4) |
|
|
663 | (1) |
|
|
664 | (1) |
|
|
665 | (2) |
Index |
|
667 | |