My impression was that compatibility option allows you to use current version features without breaking any older version features including syntax or deprecated features. In my case, I restored from 2005 to 2008, so all dbs have compatibility level for 2005 to avoid any issues for all codes written in 2005. Now I'm getting compatibility error when trying to use CUBE and ROLLUP and must to set the compatibility level to 2005. Dahh!! I'm in 2008 and must use 2008 compatibility??? I thought it should take care of backward compatibility. Shoulddn't it?
FESMAEILI