About the Authors |
|
xvii | |
About the Technical Reviewer |
|
xviii | |
|
Chapter 1 Introducing Integration Services |
|
|
1 | (10) |
|
A Brief History of Microsoft ETL |
|
|
1 | (1) |
|
What Can SSIS Do for You? |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (3) |
|
|
8 | (1) |
|
Our Favorite People and Places |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (32) |
|
SQL Server Business Intelligence Development Studio |
|
|
11 | (7) |
|
Analysis Services Project |
|
|
12 | (2) |
|
Integration Services Project |
|
|
14 | (1) |
|
Report Server Project Wizard |
|
|
15 | (1) |
|
|
15 | (1) |
|
Import Analysis Services Database |
|
|
16 | (1) |
|
Integration Services Project Wizard |
|
|
16 | (1) |
|
|
16 | (2) |
|
|
18 | (15) |
|
|
19 | (2) |
|
|
21 | (2) |
|
|
23 | (10) |
|
SQL Server Management Studio |
|
|
33 | (9) |
|
|
33 | (4) |
|
SQL Server Management Studio Project |
|
|
37 | (1) |
|
|
37 | (2) |
|
|
39 | (3) |
|
|
42 | (1) |
|
|
42 | (1) |
|
Chapter 3 Hello World---Your First SSIS 2012 Package |
|
|
43 | (40) |
|
Integration Services Project |
|
|
43 | (4) |
|
|
44 | (1) |
|
|
45 | (1) |
|
Package Property Categories |
|
|
46 | (1) |
|
|
47 | (23) |
|
Flat File Source Connection |
|
|
49 | (4) |
|
OLE DB Destination Connection |
|
|
53 | (4) |
|
|
57 | (13) |
|
|
70 | (11) |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
72 | (9) |
|
|
81 | (2) |
|
Chapter 4 Connection Managers |
|
|
83 | (24) |
|
Commonly Used Connection Managers |
|
|
83 | (11) |
|
OLE DB Connection Managers |
|
|
85 | (2) |
|
|
87 | (3) |
|
ADO.NET Connection Manager |
|
|
90 | (2) |
|
|
92 | (2) |
|
Other Connection Managers |
|
|
94 | (11) |
|
|
94 | (2) |
|
|
96 | (2) |
|
MSOLAP100 Connection Manager |
|
|
98 | (1) |
|
|
99 | (1) |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
100 | (1) |
|
SQLMOBILE Connection Manager |
|
|
101 | (3) |
|
|
104 | (1) |
|
|
105 | (2) |
|
Chapter 5 Control Flow Basics |
|
|
107 | (56) |
|
|
107 | (1) |
|
SSIS Toolbox for Control Flow |
|
|
108 | (2) |
|
|
110 | (9) |
|
|
110 | (1) |
|
|
111 | (8) |
|
|
119 | (36) |
|
Analysis Services Processing Task |
|
|
120 | (6) |
|
|
126 | (4) |
|
|
130 | (4) |
|
|
134 | (4) |
|
|
138 | (2) |
|
|
140 | (1) |
|
|
141 | (3) |
|
|
144 | (3) |
|
|
147 | (2) |
|
|
149 | (3) |
|
|
152 | (3) |
|
|
155 | (2) |
|
|
157 | (2) |
|
|
157 | (1) |
|
|
158 | (1) |
|
|
159 | (2) |
|
|
161 | (2) |
|
Chapter 6 Advanced Control Flow Tasks |
|
|
163 | (40) |
|
|
163 | (31) |
|
Analysis Services Execute DDL Task |
|
|
163 | (2) |
|
|
165 | (5) |
|
|
170 | (5) |
|
|
175 | (2) |
|
Transfer Error Messages Task |
|
|
177 | (3) |
|
|
180 | (2) |
|
|
182 | (2) |
|
Transfer Master Stored Procedures Task |
|
|
184 | (2) |
|
Transfer SQL Server Objects Task |
|
|
186 | (4) |
|
|
190 | (2) |
|
|
192 | (2) |
|
|
194 | (8) |
|
|
194 | (2) |
|
|
196 | (6) |
|
|
202 | (1) |
|
|
202 | (1) |
|
Chapter 7 Source and Destination Adapters |
|
|
203 | (42) |
|
|
203 | (2) |
|
|
205 | (1) |
|
|
205 | (7) |
|
|
212 | (5) |
|
Database Sources and Destinations |
|
|
217 | (9) |
|
|
218 | (8) |
|
|
226 | (1) |
|
|
226 | (1) |
|
|
226 | (1) |
|
|
226 | (17) |
|
|
227 | (6) |
|
|
233 | (9) |
|
|
242 | (1) |
|
|
243 | (1) |
|
|
243 | (1) |
|
|
244 | (1) |
|
|
244 | (1) |
|
Chapter 8 Data Flow Transformations |
|
|
245 | (80) |
|
|
245 | (1) |
|
|
246 | (3) |
|
Synchronous Transformations |
|
|
247 | (1) |
|
Asynchronous Transformations |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
249 | (31) |
|
|
249 | (5) |
|
|
254 | (3) |
|
|
257 | (2) |
|
|
259 | (3) |
|
|
262 | (3) |
|
|
265 | (4) |
|
|
269 | (2) |
|
|
271 | (9) |
|
|
280 | (17) |
|
|
281 | (2) |
|
|
283 | (4) |
|
|
287 | (2) |
|
|
289 | (2) |
|
|
291 | (2) |
|
|
293 | (4) |
|
|
297 | (22) |
|
|
297 | (6) |
|
|
303 | (6) |
|
|
309 | (3) |
|
|
312 | (1) |
|
|
313 | (1) |
|
|
314 | (2) |
|
|
316 | (3) |
|
|
319 | (4) |
|
|
319 | (2) |
|
|
321 | (2) |
|
Business Intelligence Transformations |
|
|
323 | (1) |
|
|
324 | (1) |
|
Chapter 9 Variables, Parameters, and Expressions |
|
|
325 | (36) |
|
What Are Variables and Expressions? |
|
|
325 | (3) |
|
|
328 | (3) |
|
|
331 | (3) |
|
Variable Scope, Default Values, and Namespaces |
|
|
334 | (3) |
|
|
334 | (3) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
337 | (5) |
|
|
338 | (1) |
|
Container System Variable |
|
|
339 | (1) |
|
|
339 | (1) |
|
Event Handler System Variables |
|
|
340 | (2) |
|
|
342 | (12) |
|
|
343 | (1) |
|
Derived Column Transformations |
|
|
344 | (1) |
|
|
345 | (1) |
|
|
346 | (2) |
|
|
348 | (2) |
|
|
350 | (2) |
|
Execute SQL Task Result Sets |
|
|
352 | (1) |
|
|
353 | (1) |
|
|
354 | (2) |
|
|
356 | (1) |
|
|
357 | (3) |
|
|
357 | (2) |
|
|
359 | (1) |
|
|
360 | (1) |
|
|
361 | (44) |
|
|
361 | (5) |
|
|
366 | (9) |
|
|
375 | (8) |
|
Synchronous Script Component Transformation |
|
|
383 | (5) |
|
Asynchronous Script Component Transformation |
|
|
388 | (8) |
|
Script Component Destination |
|
|
396 | (7) |
|
|
403 | (2) |
|
Chapter 11 Events and Error Handling |
|
|
405 | (22) |
|
|
405 | (2) |
|
|
407 | (11) |
|
|
418 | (5) |
|
|
418 | (3) |
|
|
421 | (2) |
|
|
423 | (2) |
|
|
425 | (2) |
|
Chapter 12 Data Profiling and Scrubbing |
|
|
427 | (38) |
|
|
427 | (25) |
|
|
428 | (5) |
|
|
433 | (3) |
|
Column Length Distribution Profile |
|
|
436 | (2) |
|
Column Null Ratio Profile |
|
|
438 | (2) |
|
|
440 | (3) |
|
Column Statistics Profile |
|
|
443 | (2) |
|
Column Value Distribution Profile |
|
|
445 | (2) |
|
|
447 | (3) |
|
Functional Dependency Profile |
|
|
450 | (2) |
|
|
452 | (8) |
|
|
452 | (6) |
|
|
458 | (2) |
|
|
460 | (4) |
|
|
460 | (2) |
|
|
462 | (2) |
|
|
464 | (1) |
|
Chapter 13 Logging and Auditing |
|
|
465 | (22) |
|
|
465 | (7) |
|
|
466 | (4) |
|
|
470 | (1) |
|
|
471 | (1) |
|
|
472 | (9) |
|
|
473 | (5) |
|
|
478 | (2) |
|
Adding Auditing to Packages |
|
|
480 | (1) |
|
|
481 | (5) |
|
|
486 | (1) |
|
Chapter 14 Heterogeneous Sources and Destinations |
|
|
487 | (24) |
|
SQL Server Sources and Destinations |
|
|
487 | (7) |
|
Other RDBMS Sources and Destinations |
|
|
494 | (1) |
|
Flat File Sources and Destinations |
|
|
495 | (3) |
|
Excel Sources and Destinations |
|
|
498 | (4) |
|
|
502 | (2) |
|
Raw File Sources and Destinations |
|
|
504 | (2) |
|
SQL Server Analysis Services Sources |
|
|
506 | (2) |
|
|
508 | (1) |
|
|
509 | (2) |
|
Chapter 15 Data Flow Tuning and Optimization |
|
|
511 | (14) |
|
Limiting Rows at the Database |
|
|
511 | (4) |
|
Performing Joins in the Database |
|
|
515 | (1) |
|
|
516 | (1) |
|
Performing Complex Preprocessing at the Database |
|
|
516 | (1) |
|
Ensuring Security and "Read Auditing" |
|
|
517 | (1) |
|
|
517 | (1) |
|
|
518 | (4) |
|
|
522 | (1) |
|
|
523 | (2) |
|
Chapter 16 Parent-Child Design Pattern |
|
|
525 | (18) |
|
Understanding the Parent-Child Design Pattern |
|
|
525 | (2) |
|
Using Parameters to Pass Values |
|
|
527 | (3) |
|
Working with Shared Configuration Information |
|
|
530 | (1) |
|
|
530 | (1) |
|
|
531 | (1) |
|
Implementing Data-Driven ETL |
|
|
531 | (11) |
|
|
542 | (1) |
|
Chapter 17 Dimensional Data ETL |
|
|
543 | (18) |
|
Introducing Dimensional Data |
|
|
543 | (3) |
|
|
546 | (4) |
|
|
546 | (1) |
|
Remove "Dead-End" Components |
|
|
547 | (1) |
|
|
548 | (1) |
|
|
549 | (1) |
|
|
549 | (1) |
|
|
549 | (1) |
|
|
550 | (1) |
|
Understanding Slowly Changing Dimensions |
|
|
550 | (9) |
|
|
550 | (1) |
|
|
550 | (6) |
|
|
556 | (2) |
|
|
558 | (1) |
|
|
559 | (2) |
|
Chapter 18 Building Robust Solutions |
|
|
561 | (18) |
|
What Makes a Solution Robust |
|
|
561 | (1) |
|
|
562 | (11) |
|
|
562 | (10) |
|
|
572 | (1) |
|
|
573 | (1) |
|
|
574 | (3) |
|
|
574 | (1) |
|
|
575 | (2) |
|
|
577 | (2) |
|
Chapter 19 Deployment Model |
|
|
579 | (26) |
|
|
579 | (2) |
|
|
581 | (7) |
|
|
588 | (6) |
|
|
594 | (7) |
|
|
601 | (1) |
|
|
601 | (3) |
|
|
604 | (1) |
Index |
|
605 | |