I have a fact table that has 17 keys. Normally I have been designating the primary key as all of my dimensional keys. MS SQL server 2008 has a limitation of 16 columns in a primary key or unique constraint. Are there any work arounds?
Build a calculated column as a concatenation and index on that?
You only need to concatenate the columns in excess of the 15th, and make that extra column the 16th.
Are you sure you need seventeen dimensions?
I downloaded Microsoft's project real. They do not include all keys in the pk. There are 2 scenarios. If all the keys actually are unique per the business rules then that is the pk. 2- If there are more keys on the table than what makes it unique per the busines rules, then a clustered index is used on the unique keys and the table doesn't have a primary key.
Can you combine dimensions? I once had three dimensions with three-four values each, and lumped them together into a "junk" dimension (Kimball's name, not mine) with about 48 rows.
I hope you do not have a lot of facts. With 17 dimensions you run into problems aggregating realy fast.