• My addition to this thread is to inquire why you used full integers for your surrogate keys. Do you REALLY need 4.2BILLION possible values? I bet not. tinyint is one byte, smallint is 2 bytes. Review how many values you can have for each (256 and 65K+ respectively) and use the right one for every dimension. Believe it or not those extra bytes (recall that an integer is FOUR BYTES) on a fact table REALLY DO ADD UP!!

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service