Saturday, September 30, 2006

MCITP: Business Intelligence Developer

Microsoft has just released an update to the Microsoft Certified IT Professional (MCITP) with the creation of Business Intelligence Developer credential. It looks like you only need to sit two exams to become a Business Intelligence Developer.

This qualification is a step up from the Microsoft Certified Technology Specialists in Microsoft SQL Server 2005 Business Intelligence (MCTS: SQL Server 2005 BI).

The training material is available but the exams are not available until early 2007. It might be a good time to start looking into getting this certification.

Check out:

MCITP: Business Intelligence Developer
MCTS: SQL Server 2005 Business Intelligence

Saturday, September 16, 2006

Tips, Tricks, and Advice from the SQL Server Query Optimization Team

A colleague of mine has just introduced me to one of the best blogs I have seen in along while. The Tips, Tricks, and Advice is brought to you by the SQL Server Query Optimization Team.

Here are some of my favourite posts on the performance features of SQL 2005 Query Optimizer. Check out the following:

Tuesday, September 12, 2006

SQL Server 2005 Skill Assessments

Microsoft has released a series of free skill tests that are well worth trying. There are tests covering most Microsoft products. There are two categories that I have given a go.

  • Introduction to SQL Server 2005 (DBA, Developer, BI): SQL 2005
  • Introduction to SQL Server 2000 Reporting Services: RS 2000

Monday, September 04, 2006

This Months Book Recommendation: Microsoft Data Warehouse Toolkit

After TechEd I realised that in my slide deck I did not recommend The Microsoft Data Warehouse ToolKit by Joy Mundy and Warren Thornthwaite as required reading before starting a BI project.

If you are new to BI or new to the SQL Server 2005 BI platform this book is a great starting point. This book covers an end to end BI solution on the SQL server 2005 platform. The book covers a Reference Architecture for implementing a Microsoft BI Solution.

The book also includes a case study using the Adventure works example database as the source for an end to end BI solution. All the sample code can be downloaded from

Thursday, August 31, 2006

My TechEd session Ready for download

My TechEd session on Delivering an End to End Business Intelligence is now up on Microsoft for download.

Check out:

Thursday, August 24, 2006

Project REAL Reference Implementation

I have just come across a new download from project real. It’s a complete business intelligence reference implementation. I am currently downloading the 238.2 mb sample. It looks like it a good example of an end to end solution.

Check out:
Reference Implementation

Wednesday, August 09, 2006

New Zealand TechEd Is Finally Here!

TechEd 06 has been a sold out event for a number of weeks now. It sold out in record time. For those you that are not aware, Microsoft NZ TechEd is the largest annual IT conference in New Zealand with over 2000 delegates attending.

This year I am presenting again. I am lucky enough to have one very comprehensive session on Business Intelligence.

BIN213 - Delivering an End to End Business Intelligence Solution on Monday 21st Aug 2:00:00 p.m. to 3:15:00 p.m.

My session is going to cover a detailed overview of implementing Microsoft Business Intelligence solutions. I am covering topics such as SQL Server 2005, SSIS, Analysis Services 2005, Reporting Services 2005, Office 2007 and

I am also looking at the business reasons behind BI projects. In the demonstrations I will show an integrated architecture for a Microsoft BI platform.

Ok it’s a lot to cover. So I will also be about on the HP stand this year to go through any questions or demos you would like to discuss in detail.

If you have registered for TechEd you need to login to
CommNet and book your session schedule.

For complete schedule information see
Nigel Parkers Blog

Thursday, August 03, 2006

SQL Server Versions

I have lost count the number of times I go searching for the patch level or version number in SQL.

This was something I did all the time with SQL 2000. It all started when SP 2 came out. We started to get issues with dts packages that were developed on SP1 and then run SP2. The problem was the package format changed between versions. Hence the question what version I am really running?

Why have I brought this up you may ask? Because now that we have SP1 for SQL Server 2005 and the rollup hotfix. We now have three versions of SQL Server 2005 that are in support by Microsoft.

How Do I get the Version of SQL Server?
The easiest and most reliable is the T-SQL Statement below:

SELECT @@Version

There are of course lots of other methods but I prefer T-SQL. This works for SQL 7 and above. The statement returns the SQL Server edition, version, OS and OS Patch number, and the most important the SQL Build Number for Sqlservr.exe.

The build number will tell you the patch level of your SQL Server.

Build Numbers for SQL Server 2005

Other Build versions
There are heaps of sources for this information. Listed below are some helpful links for earlier versions of SQL Server and software update naming conventions.

How to identify your SQL Server version and edition

New naming schema for Microsoft SQL Server software update packages

Monday, July 24, 2006

New Microsoft SQL Server 2005 Business Intelligence Example

I have just come across a new set of sample databases for SQL Server 2005. Some of the examples are based on Project Real Business Intelligence best practices project. Based on a real world implementation of SQL Server 2005 by Microsoft.

Check out:
SQL Server 2005 Samples and Sample Databases (July 2006)

Thursday, July 20, 2006

Installation of SQL Server Service Pack 1 by Windows Update???

The other day something happened to my laptop that took me completely by surprise. Windows Update decided SQL2005 SP1 was a critical patch. And proceeded to download and install SP1.

Although this isn’t an issue for me at then moment as I was going to install the Service Pack. I was taken a back with Windows Update installing it in the first place.

Like most DB pros I prefer to manage the database patch level on my own. I can see this kind of service pack roll out causing problems for IT Administrators and DBAs a like. Particularly with SQL express instances that are managed by business users.

Monday, July 17, 2006

Kimball Group Webcasts

I have just come across a series of must see webcasts by the Kimball Group consultants that wrote The Microsoft Data Warehouse Toolkit. I have not viewed them all yet. I am currently viewing the MSDN Architecture Webcast: Using SQL Server 2005 Integration Services to Populate a Kimball Method Data Warehouse (Level 200). Which I highly recomend.

Check out the other Kimball Group Webcasts at:

Tuesday, July 04, 2006

Free Tools that have made my SQL life a bit better

I normally don’t recommend tools on this blog. But over last month I have been working with couple of tools that are worth a mention.

The first tool on the list is SQL Prompt by Red-Gate. I have been a fan of red gate bloggers for a while now at SQL Prompt is without a doubt one of the most useful ad-ins for SQL Management Studio and Query Analyzer. This little tool is Intellisense for SQL Server. This tool dynamically looks up common functions and syntax as you type. It’s a free download until September 2006.

Check out:
SQL Prompt

The second tool was recommended to me by
Chris Webb. It’s a replacement for SQL Manager for stoping and starting all of SQL Server 2000/2005 services created by Jasper Smith at

Check out:
SQL Manager

The last tool on my list is a new migration script by Marco Russo. If you were like me and followed the DTS best practices guide that MS put out and used UDL data sources. You will find that are unable to migrate your DTS packages. Marco has put together a great tool for converting UDL and other DTS objects that do not migrate.

Check out:
A tool to improve DTS to SSIS migration

Thursday, June 01, 2006

SQL Management Studio Short Cuts

I have been working with SQL Management Studio (SMS) a fair bit lately. Like most developers I always look for the standard short cuts that I used on Query Analyser. Below are a few of my favourites.


I use these short cuts all the time to comment large sections of code. The comment style I prefer the most is dash form which I prefer too the slash style. -- Dash Comment /* Slash Comment */

  • To comment in SQL management studio you must now do Ctrl+K, Ctrl+C instead of Ctrl+Shift+C in Query Analyzer.
  • To uncomment in SQL management studio you must now do Ctrl+K, Ctrl+U instead of Ctrl+Shift+R in Query Analyzer.


  • To indent a block of code Select the code you would like to indent and press TAB to indent
  • Shift+TAB to un-indent your code
  • Word Warp long strings with Ctrl+E, Ctrl+W
  • Make Uppercase Ctrl+Shift+U
  • Make Lowercase Ctrl+Shift+L


Ok so you are working on a massive script that travels for miles. Well then you better be using book marks to navigate that code. Bookmarks are great for moving through scripts and trouble shooting. Try out the following the next time you are working on a big script.

  • Toggle Book Mark on/off and Crtl+K, Ctrl+K
  • Enable all book marks Crtl+K, Ctrl+A
  • Move to next bookmark Ctrl+K, Ctrl+N
  • Move to previous bookmark Crtl+K, Ctrl+P
  • Move to next bookmark folder Ctrl+Shift+K, Ctrl+Shift+N
  • Move to previous bookmark folder Ctrl+Shift+K, Ctrl+Shift+P
  • Clear book marks Ctrl+K, Ctrl+L

Thursday, May 11, 2006

This Months Book Recommendation: SQL in a Nutshell

Ok I haven’t recommended a book in a while, and it’s not from the lack of reading them. I thought its time I recommend one of the books I always use on most of the projects I work on. SQL in a Nutshell from O'Reilly Press is my universal translator between database engines.

It’s the one book I take onsite with me, when I am working in multiple database environments. SQL In a Nutshell allows me to look at functions and syntax across database platforms. For instance ever wondered what CASE is in Oracle? Or what date functions are supported in MySQL? SQL In a Nutshell will give an overview of each SQL function and what is supported across database platforms.

This book also gives a great overview of the ANSI standard for SQL. The Second edition is well worth getting as it is updated with the SQL language definitions for Microsoft SQL Server, Oracle, MySQL, and PostgreSQL.

BTW: CASE in Oracle is DECODE go figure.

Saturday, April 29, 2006

Blog Neglect and SQL Server 2005 Service Pack 1

Ok, it’s been a really long time since I posted, well over a month. Work commitments have taken a bit more of my time this month. If you missed it this may have been the biggest month for SQL Server since RTM release.

April saw the release of Service Pack 1 for SQL Server 2005 and Microsoft making another tool acquisition in the BI space.

SP1 was the most interactive service pack I have seen. The CTP access allowed SQL users to work with the beta product and provide feed back to MS on any possible issues. Creating what should be a solid service pack.

If you have not downloaded SP1 yet check out:
Download SQL Server 2005 SP1

Friday, March 24, 2006

A list of the bugs that have been fixed in SQL Server 2005 Service Pack 1 - Community Technology Preview (CTP) March 2006

I came across an interesting KB post on Microsoft support today. A complete list of bugs fixed in SQL Server 2005 Service Pack 1 CTP. There is a list of 19 fixes at the time of this post. This CTP service pack fixes a fair amount of Analysis services issues. The list will be updated as Microsoft document other fixes.

Check out:
A list of the bugs that have been fixed in SQL Server 2005 Service Pack 1 CTP March 2006

If you have not downloaded SQL Server 2005 Service Pack 1 CTP check out:

How to obtain the latest service pack for SQL Server 2005

Sunday, March 19, 2006

Microsoft SQL Server: SQL Server 2005 SP1 CTP

Good News,

The service pack 1 for SQL Server 2005 has now gone public. If you have been waiting for Database mirroring then this is the service pack you should be testing.

Also Books online has been updated for this CTP. The services pack has been in private beta for a while now and it’s great to see Microsoft following through with the same level of beta testing as was done for SQL 2005.

Remember the CTP is not a supported release and is for testing purposes only. So the same rules apply to the use of any beta product. Bearing that in mind I would get into testing the CTP soon as possible

Check out: Microsoft SQL Server: SQL Server 2005 SP1 CTP

Wednesday, March 15, 2006

SQL Server SSIS Sample Component: UnpackDecimal

Microsoft have just release another SSIS Sample Component for Packed Decimals.

Packed Decimals are generally converted using the OLE DB provider.

SQL Server SSIS Sample Component: UnpackDecimal
UnpackDecimal takes an input column formatted in packed decimal (comp-3), and generates the corresponding Decimal value.

Download details: SQL Server SSIS Sample Component: UnpackDecimal

Monday, March 13, 2006

Beginners Guide to Business Intelligence – What is a Data Warehouse?

This is the second instalment of my blog feature on Beginners Guide to Business Intelligence. This time I am looking at: What is a Data Warehouse exactly?

Business Intelligence Context
First Business Intelligence in my opinion is not just architecture. It is a strategy of information within an organization. All organizations report on the performance of their business processes, services and sales. How they manage and organize information is maintained by a Business Intelligence Architecture, which is made up of several components. A data warehouse is just one such component. The data warehouse is sometimes seen as the corporate repository.

Before we get into the detail of data warehouse definitions lets have a flash back for a bit of data warehouse history.

Birth of Data warehousing
In a sense, companies have been reporting on information since the dawn of computing systems. Data warehousing is really a collection of technologies that have evolved within information systems. Listed below are some of the legacy terms that you may come across when talking about data warehouses.

Executive Information System (EIS)
One of the first attempts at giving executive managers a high level view of business activities, this kind of system was widely adopted in the late 70s and early 80s. Usually these systems would be summary tables built on top of transactional tables. EIS focused solely on the financial view of the organisation with limited information other than budget vs. actual. The tables would be maintained within the source system and loaded once a month and reports would be generated on top of them, almost always printed on line-flow paper.

Management Information System (MIS)
An extension of EIS, the MIS gave business users a wider view of information in the form of Balance Scorecards and other summarised views of information. The term Key Performance Indicators (KPI) was widely adopted for measures that were just not financial based. For the first time summary tables would be maintained independently of the transactional source system. This kind of system was widely adopted in the late 80’s early 90’s. In fact entire departments were named after MIS systems, hence the term MIS Department.

Decision Support Systems (DSS)
The next evolutionary step was the creation of the DSS. A term widely used when discussing OLAP solutions. In the 90’s you were more than likely building a DSS system to support OLAP reporting. This was the era of creating reporting systems for areas of the business no longer just focusing on Financial and Sales reporting. It has to be noted that if is was not for products like Essbase, Cognos and front-end tools like Lotus 1-2-3 and Microsoft Excel; DSS systems may not have been so successful. It was the first time that information was delivered to operational roles outside of transactional systems.

Data Warehouse
The data warehouse really is a central repository combining all of these earlier systems. The early data warehouses were third normal form 3NF databases, taking incredible amounts of time to develop. Due to the large nature of early data warehouse, data integration was heavily used in the creation of data warehouses, requiring special ETL (Extract, Transform, and Load) tools and skills - even worse to develop and create reports against. At this time two distinct trains of thought appeared when it came to defining what a data warehouse should be.

The first general definition was that the existing third normal form system, was the only solution to the eternal business questions that a drive a company. Bill Inmon was the main proponent of this concept stating that data warehouse architects could never predict all possible business questions just using summary tables alone. A data warehouse by its very definition should store data at the lowest level possible providing an Ad-hoc query environment. This created the need to store large amounts of data in a structure, which could never be fully tuned for all possible queries.

Many organisations had invested heavily in a data warehouse without fully realizing all the potential benefits. The original goals of data warehouse systems were to create an environment with the easy access, and usability too large amounts of data. Early data warehouses were too complex in nature and as a result fell well short of this goal.

Something had to change.

That happened to be Ralph Kimball and the concept of de-normalisation. Ralph proposed an ingenious way of data retrieval using existing RBMS systems. The main idea was to create low level transactional (facts) tables with attribute (Dimensions) tables relating to each transaction using an integer surrogate key system.

This allowed the database optimizers to summarize large amounts of data more efficiently. Due to the reduction in the number of tables required for a similar query in a traditional data warehouse. This definition describes the Star schema concept from a high-level technical view. Besides the query performance improvement there was a huge business benefit, for the first time business users had a view of data from an information context.

Another benefit of Star schemas was the business context or subject area. Business users were presented a view of transactional data from a business context. Instead of having to join multiple tables with complex joins to produce a query that only DBAs understood. Users where able to write queries that answered business questions for example, how many products did the company sell for this year compared to last year?

Third Normal Form vs. Star schemas
Kimball vs. Inmon is the most common discussion between Data Warehouse Architects, next to which database engine is the best for data warehousing, It maybe one of the few arguments that will never truly die down.

Proponents of 3NF push the robust nature of data warehouses as the corporate repository/information factory that will move with the business and insulate against change with in source systems.

On the other hand Star schemas provide a high performance user friendly reporting environment, which is the ultimate goal of any data warehouse. Even within the star schema approach there are differing views on whether the star should be snowflake (Relational dimensions with de-normalized fact table) or just solely the de-normalized.

The Next Step: Data Marts
Data warehouses became victims of their own success. Organisations started to realize the benefits but could not wait necessarily for a large system to be put in place, hence the data mart.

Although data warehouses were and still are a successful approach to the corporate data repository, the length of time, cost and complexity to develop and deliver data warehouse projects reduce some of the benefits. This was due to the fact that most organizations would change during the course of long projects.

A data mart tends not to suffer from such issues. As the data mart is a focused repository on one area of the business. Organisations are able to see a quick turn around and delivery of a high value repository that a data mart has to offer.

The most common form of a data warehouse will more than likely be a collection of data marts. This is sometimes called a federated data warehouse. Often this is the most successful form of data warehousing.

No matter what kind of system you are building the goals always the same: the delivery of information. Ultimately this kind of system undertaking should always support the business decision making process.

Want to know more about Data Warehouses? Check out the following references:

Bill Inmon

Ralph Kimball

Great Resources and Articles about Data Warehousing:

Beginners Guide to Business Intelligence: What is Business Intelligence About?
What is Business Intelligence About?

Monday, February 06, 2006

SSIS Sample Components

Well is seems the flow of add-ins for SSIS is starting. Microsoft has just release a lot of usefuls add-ins for SSIS. I am a big fan of the Regex component as it is often the hardest to code. Check out the links below.

SQL Server SSIS Sample Component: CalendarTransform
CalendarTransform is an SSIS dataflow transform component that generates standard calendar attributes.

SQL Server SSIS Sample Component: UnDoubleOut
UnDoubleOut is an SSIS dataflow component that removes qualifiers from quoted text, either in place, or via the creation of a new output column.

SQL Server SSIS Sample Component: Regex
Regex is an SSIS dataflow component that applies a configured regular expression against an incoming column, matching, extracting, or splitting, as configured by the user.

SQL Server SSIS Sample Component: UnpackDecimal
UnpackDecimal takes an input column formatted in packed decimal (comp-3), and generates the corresponding Decimal value.

SQL Server SSIS Sample Component: RTrimPlus
RTrimPlus takes a string or unicode column, and removes trailing spaces, whether ASCII, or Japanese.

SQL Server SSIS Sample Component: SeeBuffer
SeeBuffer is an SSIS dataflow component that sits in a data flow and is provided a look at each buffer that is presented to it.

SQL Server SSIS Sample Component: NullDetector
NullDetector is an SSIS dataflow component that sits astride a data flow, and, depending on whether the value of a user-indicated column is null or not, routes rows to one or the other of its outputs.

SQL Server SSIS Sample Component: CodePageConvert
CodePageConvert is an SSIS dataflow component that translates from and to any code page or unicode character representations.

SQL Server SSIS Sample Component: ConfigureUnDouble
ConfigureUnDouble takes a text column, and, removes bracketing quotes if present, plus places double quotes inside the text with sinqle quotes.

SQL Server SSIS Sample Component: UnDouble
UnDouble takes a text column, and, removes bracketing quotes if present, plus replaces double quotes inside the text with sinqle quotes.

Saturday, January 28, 2006

This Months Book Recomendation

Every time someone asks me about getting into BI or learning about data warehousing I point them to one book: The Data Warehouse Tool Kit first Edition by Ralph Kimball. When it comes to a starting point for Data Warehousing this is the book.

It’s the only book I know of that starts at the beginning and asks the questions of why you would want to embark on a Data warehouse project. Ralph uses plain language to describe star schemas and data warehouse design. Each chapter takes a real world industry example such as telecoms, retail, banking and Insurance and demonstrates star schema design. Each chapter takes on different design problems that you may face when building a star schemas.

The first Edition contains a CD with sample stars populated based on each chapter. The later editions do not come with the CD.

It’s a great book for learning about design and understanding the concepts of data warehouses and star schemas. Even if you are not a developer this book is still for you. It makes the connection between business problems and data warehouse design. The great thing about this book is its technology independent.

Wednesday, January 25, 2006

KB Alerts Feed added to my Blog

One site I keep an eye on is It’s a great resource for finding Microsoft known bugs and knowledgebase articles.

I have added feeds for SQL Server 2000 and 2005 to my side bar.

Friday, January 20, 2006

Avoiding Microsoft SQL Server 2005 Deployment Pitfalls

January has not been a good month for blogging. It seems the reality of coming back to work has taken over my time a bit. Plus I am currently training for a Mountain bike race in March. I came across this interesting installation guide on installing SQL Server 2005. It’s worth a read if you have not installed SQL 2005 before.

Check out: Avoiding Microsoft SQL Server 2005 Deployment Pitfalls

It raises an interesting point, what is the minimum spec to locally develop SQL 2005 applications on. Currently I am running a HP nc6000 with 2 Gig of Ram. It’s the minimum I would recommend to anyone starting development on a laptop.

Any one looking at serious development should always have a development server. A basic development server I would start with a 2 way dual core 64x with 4 Gig minimum. Of course you will still need to size your dev server based on project requirements.

Wednesday, January 04, 2006

SQL Server 2005 Services Manager

So its 2006, No more CTPs or Launches to look forward too; Instead it's back to the reality of doing projects with SQL Server 2005.

Like most developers I miss SQL Server Services Manager to start and stop SQL. Mainly because I have a laptop and I use it for everything else as well as development.

To get round this I have created two DOS batch files on my desktop for stoping and starting required SQL services. There are three main services that I have in my batch files:

  • MSSQL - The services name for SQL Server 2005,
  • MSOLAP -The services name for Analysis Services 2005,
  • ReportServer - The services name for Reporting Services.
The Syntax for starting services is NET START command. To start a default instance of SQL from the command line use the following:


For a Named Instance use the following syntax.


Strangely enough to stop Services you use the NET STOP Comand. Listed below are the two batch scripts I use to stop and start SQL Server , Analysis Services and Reporting Services on my Laptop. Feel free to save them in notepad with the .bat extention.

Start Serivces down batch script.

CDREM -----------------------------------------------------------------
REM SQL Server 2005, Analysis and Reporting Services START Script
REM -----------------------------------------------------------------
NET START ReportServer$SQL2005

Stop Serivces down batch script.

REM -----------------------------------------------------------------

REM SQL Server 2005, Analysis and Reporting Services STOP script
REM -----------------------------------------------------------------
NET STOP w3svc
NET STOP ReportServer$SQL2005