Data Warehousing

Using Temporal Tables for Slowly Changing Dimensions

One of my favorite recent additions to SQL Server is the ability to use temporal tables to retain change history. As I wrote in an earlier post on this topic, temporal tables allow one to easily configure a table keep all of the changes (including updated and deleted rows) in a designated history table. In this post, I will share…


SSIS Training for Summer 2017

This summer, I will be delivering my popular full-day training class Building Better SSIS Packages in three different cities across the southern United States: Thursday, June 1st: Pensacola, Florida Friday, June 16th: Pasadena, Texas (just outside of Houston) Friday, July 14th: Lawrenceville, Georgia (near Atlanta) This course is designed for those with some previous exposure to or experience with SQL…


The Dead Tree Database

“We have all of that information. It’s in a database in my office.” This phrase was music to my ears. I was working on one of my first-ever data reporting projects, and I had been searching in vain for a way to access historical point-in-time data from one of our apps in these new reports. Even though this data set…


Why Data Warehouse Projects Fail

Data warehouse projects are among the most visible and expensive initiatives an organization can undertake. Sadly, they are also among the most likely to fail. At one time, Gartner reported that more than 50% of data warehouses would fail to make it to user acceptance. Because of the size of investment (both time and money) required, the success of such…


SQL Server 2016 Service Pack 1 Changes Everything

Earlier today, Microsoft announced the release of Service Pack 1 (SP1) for SQL Server 2016. Pay close attention to this announcement, because this is not a typical update. Service Pack 1 unlocks most all of the programmability features found in Enterprise Edition, making them available in lower-cost (and even free) editions of SQL Server. Folks, this is a huge change…


Podcast Interview: Is the On-Premises Data Warehouse Dead?

Recently I’ve been talking a lot with clients and others about the involvement of cloud architecture in a data warehouse design. In fact, this topic was the focus of my most recent Data Geek newsletter publication. A few weeks ago, I had the pleasure of being interviewed by my friend Carlos Chacon for the SQL Data Partners podcast, during which…


We Don’t Trust This Data

“Learning to trust is one of life’s most difficult tasks.” –  Isaac Watts As data professionals, there are times when our jobs are relatively easy. Back up the databases. Create the dashboard report. Move the data from flat files to the database. Create documentation. There are lots of cogs in those machines, but an experienced technologist will have little trouble…


The Key to Successful Analysis

The key to successful analysis is to ask enough good questions. How do you know that you’ve asked enough questions? When you think you have all the information you need to get started, ask 10 more good questions. Those ten questions will lead to five more, which will lead to 3 more, and so on. After you get started, if…


Null, empty string, or zero?

The answer: It Depends. One of the more common problems I encounter when managing data quality, especially in an ETL process, is the proper handling of null, empty string, or zero values. When I put on my preaching shoes to talk about bad data, this is one the areas I have to spend a lot of time covering because it…


Best of PASS Summit 2014: Building Bullet-Resistant SSIS Packages

This week, PASS announced the Best of PASS Summit 2014, a collection of the 10 highest-rated sessions from last fall’s PASS Summit in Seattle. I was pleasantly surprised to learn that my session, “Building Bullet-Resistant SSIS Packages”, was among these. All of these sessions (including lots of other content) are available for viewing on the PASS TV channel on YouTube….