-->
SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 

Chris Jenkins' Blog

I’m a Microsoft Certified Solution Expert specialising in the design and development of BI solutions using the full SQL Server BI stack. I’ve been working with SQL Server since 2003 and have been developing BI solutions since 2007. I’ve been running my own independent consultancy, based in Southampton, UK, since 2015.

Data Warehousing Tip #8 – Make it better

In this article I’ll discuss making your data warehouse better.  I’ll admit that this is a pretty obvious aspiration, but data warehouses evolve.  If they are going to be a success and have some sort of longevity they have to.   The focus of this article is to ensure that when… Read more

0 comments, 198 reads

Posted in Chris Jenkins' Blog on 11 February 2019

Data Warehousing Tip #7 – How I build a time dimension

In this article I’m going to show you how I build my time dimensions.  There are lots of different ways to create time dimensions, and there are lots of different requirements, from the attributes in the dimension to the granularity of the data.  You can use these scripts to build… Read more

6 comments, 196 reads

Posted in Chris Jenkins' Blog on 4 February 2019

Data Warehousing Tip #6 – Use a consistent unknown member key

In this article I’ll be discussing the benefits of using a consistent unknown member key across your data warehouse.  And I’ll show you a couple of ways of going about implementing a consistent approach.

Each of your dimensions should have an unknown member key.  The aim of which is to… Read more

2 comments, 852 reads

Posted in Chris Jenkins' Blog on 28 January 2019

Data Warehousing Tip #5 – Use surrogate keys

My fifth data warehousing tip is to always use surrogate keys for your dimension and fact tables.

Surrogate keys are keys that are generated internally by the data warehouse.  They have nothing to do with the business keys.  The business keys are the unique row identifiers from your source systems.… Read more

2 comments, 2,870 reads

Posted in Chris Jenkins' Blog on 18 January 2019

Data Warehousing Tip #4 – Trust your instinct

My fourth data warehousing tip is to trust your instinct when it comes to building solutions, and if to you the solution seems too complex then maybe it is.

Sometimes things are just complex.  It’s the way that it is.  However, sometimes things are more complex than they need to… Read more

0 comments, 2,825 reads

Posted in Chris Jenkins' Blog on 14 January 2019

Data Warehousing Tip #3 – Build thin slice

My third data warehousing tip is to build thin slice.  Deliver subsets of valuable functionality. Get feedback and buy in, and use this to drive the next release.

Thin slice development is the process of incremental delivery.  Where you build only the functionality necessary to deliver the one requirement that… Read more

4 comments, 2,707 reads

Posted in Chris Jenkins' Blog on 7 January 2019

Data Warehousing Tip #2 – What your data warehouse should be

I’ve seen data warehouses that nobody trusts, or are just too complex for end users to report on.  Users will voice their concerns (usually quite loudly).  Even worse, they will go back to using the relational source to get “accurate” data or because “it’s easier” to get data from there.… Read more

0 comments, 1,222 reads

Posted in Chris Jenkins' Blog on 28 December 2018

Data Warehousing Tip #1 – Store fact data at the leaf level

My first data warehousing tip is to store fact data at the leaf level. If you aggregate your fact data as part of your ETL/ELT then you are painting yourself into a corner. Here’s why:

  1. Leaf level data with an associated business key allows you to map your fact data…

Read more

0 comments, 210 reads

Posted in Chris Jenkins' Blog on 10 December 2018

Reducing the size of the distribution database & improving transactional replication performance: Part 3

Part 1 of this series of articles looked at the intricacies of SQL Server transactional replication, and made the observation that the clean-up mechanism treats publications as a collective.  Part 2 looked at how differing distribution job schedules can cause unnecessary bloating in the distribution database.

The final (and much… Read more

2 comments, 6,700 reads

Posted in Chris Jenkins' Blog on 20 October 2014

Reducing the size of the distribution database & improving transactional replication performance: Part 2

The impact of having data sitting in the distribution database that doesn’t need to be there can be significant.  The aim of this series of articles is show you how to keep the distribution database as small (and efficient) as possible, and to keep the impact of the clean-up job… Read more

4 comments, 2,793 reads

Posted in Chris Jenkins' Blog on 26 November 2012

Reducing the size of the distribution database & improving transactional replication performance: Part 1

In this series of blog posts I will looking at issues regarding the size and performance of the distribution database as part of a transactional replication environment.

Symptoms:

  • Your distribution database is growing quite large
  • The distribution cleanup job is taking a long time to run, yet not clearing as…

Read more

0 comments, 13,070 reads

Posted in Chris Jenkins' Blog on 8 November 2012