Если вы не используете функции, которые не работают в Express Edition (например, секционирование), ваша база данных 2008 также подходит для SQL Server 2008 Express. Если база данных в настоящее время где-то прикреплена, вы можете проверить эти функции, используя:
SELECT feature_name, feature_id
FROM sys.dm_db_persisted_sku_features;
В идеале это вернет 0 строк. Если он возвращает какие-либо строки, вполне вероятно, что вы используете функции, не подходящие для Express.
Также гораздо безопаснее для BACKUP / RESTORE, чем отсоединить / присоединить, если база данных фактически все еще подключена к экземпляру 2008 года - таким образом, если что-то пойдет не так, ваша исходная база данных останется нетронутой. Таким образом, если он подключен, вы можете выполнить команду BACKUP DATABASE на экземпляре 2008, а затем запустить RESTORE DATABASE (возможно, используя параметры WITH MOVE для хранения файлов в нужном месте) на экземпляре Express. (Все еще проще было бы установить базу данных в автономном режиме, скопировать файлы и снова установить базу данных в режиме онлайн - но я все еще предпочитаю маршрут BACKUP / RESTORE.)
BACKUP:
http://msdn.microsoft.com/en-us/library/ms186865%28SQL.100%29.aspx
ВОССТАНОВЛЕНИЕ:
http://msdn.microsoft.com/en-us/library/ms186858%28SQL.100%29.aspx
Если все, что у вас есть, это файл MDF / LDF, то в SQL Server 2008 Express вы сможете использовать CREATE DATABASE ... FOR ATTACH / FOR ATTACH_REBUILD_LOG. Вы можете прочитать о синтаксисе здесь:
СОЗДАТЬ БАЗУ ДАННЫХ:
http://msdn.microsoft.com/en-us/library/ms176061%28SQL.100%29.aspx
Если у вас возникли проблемы с какой-либо из этих команд, опубликуйте, что вы пробовали и какое сообщение об ошибке вы получили.
Что касается Compact Edition, нет, я не знаю каких-либо инструментов, которые преобразуют вашу базу данных для вас. Наборы функций и даже некоторые языковые конструкции несовместимы между собой.