Une fois mis à niveau, une base de données ne peut jamais être rétrogradée. Définir le niveau de compatibilité ne change que certaines façons dont s'exécute la requête, mais n'a absolument aucun impact sur le format physique de la base de données : une base de données en mode de compatibilité 90 est une base de données SQL 2008, pas une SQL 2005.
Donc, si vous avez besoin de déployer une base de données sur SQL 2005, vous devez la créer sur SQL 2005. Non seulement cela, mais cela doit être la même version de SQL 2005, ce qui signifie le même niveau de SP et de CU. Ou du moins une version antérieure au serveur ciblé. Donc, si le serveur ciblé est SP1 CU3, alors vous pouvez créer la base de données sur RTM, n’importe quel CU et sur SP1, SP1 CU1, SP1 CU2 ou SP1 CU3. Mais vous ne pouvez pas la créer sur SP1 CU4 ni sur toutes les versions post-SP1 (comme SP2). Comme je l'ai dit, une base de données peut être mise à niveau, mais jamais rétrogradée.
Vos options sont soit de générer le script de la base de données et du contenu en SQL texte, puis d'importer les scripts dans le serveur cible, de recréer la base de données sur une version adéquate de SQL Server, ou de mettre à niveau la cible vers 2008.