New book: MCTS Self-Paced Training Kit (Exam 70-448): Microsoft SQL Server 2008—Business Intelligence Development and Maintenance

We’re seeing a tremendous demand for Business Intelligence books. The field is growing, even in a down economy. This is basically a reflection of the need to make sense of an enormous, and ever-expanding, quantity of data. And also SQL Server’s maturity as a platform for BI and its smoother integration with Microsoft technologies such as Office and Visual Studio.

This month, we’re proud to add to our Microsoft Press portfolio of BI titles with the just-published MCTS Self-Paced Training Kit (Exam 70-448): Microsoft® SQL Server® 2008—Business Intelligence Development and Maintenance.


The book’s authors are three of the finest SQL Server experts, consultants, and all-around very nice people – Erik Veerman, Teo Lachev, and Dejan Sarka. We’re privileged to have Erik say a few words about the book:

I was very excited to get my first copies of the 70-448 last week!  A big thanks to Ken Jones and Microsoft Press for their commitment to this. I think you'll find this book a tremendous help in your professional goals and technical expertise. Specifically, there are three things that Teo, Dejan and I focused on in this book to make it valuable:

1.) SQL 2008 BI Resource... This book is much more than an exam prep guide.  We wanted to also broaden its value to make it a great one-stop-shop for learning and excelling on the SQL 2008 BI technologies, whether you plan to take the exam or not.

2.) Exam preparation... If you are planning on taking the exam, we also put a lot of time into the content to make sure that it really prepares you for the exam by covering not just the general material but the background to best understand the types of questions you will come across (with lots of Exam Tips!). 

3.) Readable and real world... you'll find the content flow to be helpful, plus, each of us has worked hard to bring all our real world experience to the book, not just in the "real world" sections, but also in the lesson content, exercises, and case studies.

Much success to your SQL 2008 BI pursuits!

We’re including a few samples from the book to help illustrate Erik’s points:


This Training Kit is designed for business intelligence (BI) developers and administrators who
plan to take the Microsoft Certified Technology Specialist (MCTS) Exam 70-448, Microsoft
SQL Server 2008, Business Intelligence Development and Maintenance. The primary objective of
this exam is to certify that BI developers and administrators know how to develop and maintain
solutions built on the Microsoft SQL Server 2008 BI platform, which includes SQL Server Integration
Services (SSIS), SQL Server Analysis Services (SSAS), and SQL Server Reporting Services

We assume that before you begin using this Training Kit, you have experience developing
or implementing BI solutions. We also assume that you have experience managing or
supporting BI project security, deployment, and maintenance. The Preparation Guide for Exam
70-448 is available from The practice
exercises in this Training Kit require you to use Microsoft SQL Server 2008 Enterprise or Microsoft
SQL Server 2008 Developer. A 180-day evaluation edition of SQL Server 2008 Enterprise
is included on this book’s SQL Server 2008 evaluation DVD. If you do not have access to this
software, you can download a 180-day trial of SQL Server 2008 from You can also consider purchasing SQL Server 2008 Development, which contains all of the required features.

By using this Training Kit, you will learn how to:

  • Install and configure the SQL Server 2008 BI components.

  • Work with the design and management tools in SQL Server 2008 for BI.

  • Develop and deploy SSIS projects.

  • Secure, manage, and troubleshoot SSIS packages.

  • Develop and deploy SSAS solutions.

  • Secure SSAS cubes and dimensions.

  • Implement, configure, and deploy SSRS reports.

  • Manage and secure SSRS report servers.



Teo Lachev

Ad hoc reporting—letting business users create their own reports—is a popular
data analytics requirement. A good ad hoc reporting solution should be
designed with the end user in mind and shouldn’t require the user to know the
database schema and query language. SSAS is designed from the ground up to efficiently support ad hoc reporting needs.

One reporting project I was involved in required implementing an ad hoc solution
on top of an existing operational database. Because the database schema was highly
normalized and the database contained gigabytes of data, we quickly overruled ad
hoc reporting tools that are layered on top of the database and autogenerate SQL
queries. Instead, we designed a “classic” OLAP solution in which data is extracted
from the operational database and loaded into a data mart. We followed the data
dimensional methodology to architect the data mart schema. From some 200 tables
in the operational database, the data mart schema contained about 10 dimension
tables and 2 fact tables.

On top of the data mart, we built an SSAS Unified Dimensional Model (UDM) layer,
which provided several important benefits. To start, SSAS is designed to deliver
exceptional performance for large data volumes. Unlike relational databases,
which have no notion of the hierarchical relationships in data, SSAS understands
the semantics of data. This helped us extend our cube with important business
calculations in the form of Multidimensional Expressions (MDX). For example, we
defined Key Performance Indicators (KPIs) that measure company performance. We
also benefited from the flexible, role-based security model that SSAS provides. This
security model is enforced when the user connects to the cube. Last, many Microsoft-provided
and third-party tools support SSAS and its MDX query language. In our case,
we designed a Microsoft Office SharePoint dashboard to help executive managers
understand the company’s performance. End users could use Microsoft Office Excel
or the SQL Server Report Builder from SQL Server Reporting Services to author ad hoc

So if your task is to design an ad hoc reporting solution, your first stop should be SSAS.


SQL Server Integration Services (SSIS) can be very useful for preparing data for data mining.
For example, you can use a different path in the SSIS data flow for regular missing
data, and then later when the missing data is handled, you can merge both datasets.

Comments (19)
  1. IT Samurai says:

    Hi there. I found one error "AcquireConnection Method Call Failed" when i did Chapter 3, Lesson 1, Exercise 3. The reason was "DelayValidation" was False, after changed to True, error was gone. I followed TK step-by-step and nowhere on context mentioned "DelayValidation", even I used sample project comes with companion CD, I got same error. At the end, found solution from Google. MS Press should post corrigenda/Errata by each published book. Wasted 30 minutes for this issue. I will consider for my next TK purchase and will post this issue on Amazon to let potential buyers know the document accurecy and poor reader support.

  2. MSDN Archive says:

    I apologize for the error, IT Samurai. I reported it to our support team and it will be researched and added to the support site:

  3. hannan says:

    I am sorry ,my question is very silly ,I am new to the exam .just want to know

    The trial of SQL Server 2008  is enough for me to prepare the exams ????

  4. Ben says:

    I’m on page 510 of your book.  One thing I’ve noticed in general is that the directories shown in the book vary from the actual installation for the code samples.  I’m unable to find the DLL example for the assemblies if you don’t have the standard VisualBasic installed.  Where is it?  Does it have the typical .dll ending?  Thanks!

  5. Hi, Ben. Thanks for the catch! We’re adding this to the KB article for the book.  If you need the missing file immediately, write me at devon at microsoft .com.

  6. Shimul Mahmud says:

    where can i get the exercise code of MCTS Self-Paced Training Kit (Exam 70-448): Microsoft SQL Server 2008—Business Intelligence Development and Maintenance

  7. daviskacer says:

    Error on Page 90 Exercise 1:

    USE [AdventureWorks] should be USE [AdventureWorks2008]

  8. Ebenezer Aniapam says:

    Practice: Creating Simple and Complex Data Flows


    Invalid column name ‘BusinessEntityID’.

    Invalid column name ‘PersonID’.

    select convert(nvarchar(15),SC.

    AccountNumber) as CustomerAlternateKey,

    C.Title, C.FirstName, C.MiddleName,

    C.LastName, C.Suffix, C.EmailAddress,

    C.AddressLine1, C.AddressLine2,

    D.BirthDate, D.MaritalStatus,

    D.YearlyIncome, D.DateFirstPurchase,

    D.Gender, D.TotalChildren,

    D.NumberChildrenAtHome, D.Education,

    D.Occupation, D.HomeOwnerFlag,


    from Sales.vIndividualCustomer C

    inner join Sales.Customer SC

    on C.BusinessEntityID = SC.PersonID

    inner join Sales.vPersonDemographics D

    on C.BusinessEntityID =


  9. Ryan Barrett says:

    Just a little warning for 64-bit users.  The examples which make use of Excel won’t work, because there’s no 64-bit OLE driver for Excel.

    So far it’s only been lesson 1 from chapter 3, but that’s as far as I’ve got so far…

  10. Carolus Holman says:

    I cannot find the table referenced in Excercise 2 on Page 52. I have tried to download a previous version of AdventureWorks to no avail. Can you provide a link to the databases referenced by this book?

    I believe it would be prudent to include a Schema and Data for the content of the book on the media, or a link to updated material on this blog. WROX does this all the time, and it sure helps when time is short!

  11. Mike says:

    I am trying to do lesson 1 exercise 3 of chapter 3 and I keep getting errors.  Even with the fix listed above I’m getting and error as follows

    [Data Conversion [336]] Error: Data conversion failed while converting column "Age" (56) to column "New_Age" (349).  The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.".

    Maybe this has to do with the fact that I had to create a table called stg_Customer and in int I put the Age column data type to that of nvarchar(255) like all the rest but as far as I can tell this error is happening before I get to inserting into that table.  Side Note: during which exercise did we have to create a table called stg_Customer? Maybe I have created it incorrectly.  Any help would be greatly appreciated.

    What does the Your URL field above mean?

  12. Mike, you should send your query to TKInput [at] so that our Support team can help you.

  13. Paul Daly says:

    Ryan, check out N A T's post here to fix the 64-bit issue:…/289e29ad-26dc-4f90-bad4-ffb86c76e5f9.

  14. Paul says:

    Ryan, check out N A T's post here to fix the 64-bit issue:…/289e29ad-26dc-4f90-bad4-ffb86c76e5f9.

  15. Daxchaos says:

    I receive the following errors when attempting to process a data mining model against Adventure Works DW … when following the instructions in the 70-448 exam prep book by Veerman, Lachev and Sarka. Thoughts or known compatibility issues?

    Error 4 Internal error: Invalid enumeration value. Please call customer support! is not a valid value for this element.

    Error 5 An error occurred while parsing the 'StorageMode' element at line 1, column 11172 ('…/engine& namespace) under Load/ObjectDefinition/Dimension/StorageMode.

    Error 6 Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\?C:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPDataTK 448 Mining Models Project.0.dbTargetMailDim.2.dim.xml'.

    Error 7 Error (Data mining): An error occurred while an internal object was being created.

  16. Sergey Stepanov says:

    Same problem as Ebenezer Aniapam have. Page 52. SQL command isn't working.

  17. Sergey Stepanov says:

    Find solution of problem on page 52.…/errataunconfirmed.csp

  18. Ash says:

    Hi Mike,

    Did you manage to find a answer for your error?

Comments are closed.

Skip to main content