Professional SQL Server 2005 Integration Services
by Brian Knight, Allan Mitchell, Darren Green, Douglas Hinson, Kathi Kellenberger, Andy Leonard, Eric Veerman, Jason Gerard, Haidong Ji and Mike Murphy, WROX 2006. $49.99.
I received this book early on from some of the authors and was happy to get it. A number of the authors for this book are friends and have written articles for this site, so I was sure this would be a good book to use as a jumpstart into SQL Server Integration Services (SSIS).
This book was written early in the lifecycle of SSIS and so it brings with it some history from the previous environment for ETL in SQL Server: Database Transformation Services (DTS). The book references the changes from the DTS development environment and structure and that is handy for anyone that is looking to upgrade their skills.
This book starts out by walking through the overall environment and basic structures of SSIS packages and the various components. It creates a basic package with the reader and then starts to go into more details on the tasks included with SSIS. The approach is to explain how or why the task would be used by many DBAs and then go into a little more detail on the configuration of that task. For example, no the FTP task, the book talks about how this is used for transferring files and has improved over the receive-only restriction in DTS. The book then walks the user through a task dropped onto a package and configured to actually get a file across the Internet from Microsoft and then run to perform the task. A very nice hands-on approach.
The Containers and Data Flow chapter, which looks at the various data sources and transformations for data, is a bit of a disappointment. It explains the particular item and gives the options associated with it, but lacks some of the practical details that would help the reader to understand how to include this in their work and even try out simple examples.
Chapters 5 and 6 actually walk through creating a package, including control flows, various transformations, looking at advanced transformations, and walk the reader through adding these items to sample packages. This practical approach is very nice and helps the reader to gain some confidence and experience in working with SSIS. Chapter 7 extends upon this by delving into scripting with dynamic variables, expressions, object models, and debugging of your packages. Chapter 8 goes into other data sources, and shows how you would get or exchange data with Excel, Access, XML, and Oracle.
Chapter 9 delves into performance and scalability, giving great examples on how to handle various scenarios. There is discussion on restarting packages, capturing errors, handling transactions and more. Chapter 10 continues on this with a more in-depth look at the SSIS engine and how it works along with ways to get some of the details.
Chapter 11, after you have a good understanding of how various things work in SSIS, goes into applying what you know. Contrasts with DTS are given, but there are some nice details that talk about some of the challenges that you might face in your job when you have multiple machines or you encounter some performance issues.
Chapter 12 discusses migrating DTS packages and how you can deal with this in SQL Server 2005.
Chapter 13 digs into error and event handling, with examples on how you might want to configure your environment or make changes to your packages to better capture data about issues. Chapters 14, 15, 16, and 17 look at extending SSIS with custom components and integration with WMI or external applications.
Chapter 18 is something that I don't often see: the development life cycle. Various version control situations and scenarios as well as Team Foundation Server are discussed and their integration with the SSIS development process is given with some examples. This is handy since often books explain the environment, but not how to actually and practically work with the environment in an organized fashion. I'd actually like to see VCS covered early in the book, but I'm glad it's in here.
A large case study rounds out the book in Chapter 19, allowing the reader to follow through a complicated ETL sample that might help them in getting started with their own packages.
This is a big book and the authors take advantage of that to provide good detail and not too much code in the book. There is code throughout, but rarely more than a page at once. This is a visual tool, and there are plenty of screenshots, but I don't feel like the book has many unnecessary shots just to fill space. There is some disconnects with a few chapters as different authors have written them and they don't always flow, but overall the book is easy to read.
The contrasts and comparisons with DTS as well as constant reminders about how a particular topic relates to real world situations help to ensure that as the reader goes through this book, they'll get ideas on how the various topics relate to their own environments.
I'll admit I'm biased since I know quite a few authors, but I'll rate this a 4 or 4.5 out of 5.