Я работаю над проектом, в котором используется реляционная база данных (SQL Server 2008). Локальное (локальное) приложение выполняет чтение и запись в базу данных. Я работаю над другим внешним интерфейсом для Azure (веб-роль MVC2), который будет использовать те же данные, но только для чтения. Если бы я развертывал традиционное веб-приложение, я бы использовал SQL Express в качестве локальной базы данных и развертывал изменения с обновлениями приложения (данные изменяются очень медленно) или через какую-либо систему синхронизации.
С Azure картинка немного мутная (извините, пришлось). Кажется, я не могу найти никакой информации, чтобы указать, будет ли SQL Express работать внутри веб-ролей, и если да, то как это сделать. Кто-нибудь знает, возможно ли использование SQL Express в веб-роли Azure?
Другие варианты, которые я мог бы сделать, если их заставят: SQL CE или использовать SQL Azure. Оба имеют ряд недостатков и определенно далеки от совершенства.
Спасибо, Эрик
Изменить Я думаю, что мой сценарий недостаточно ясен.
Эти данные не меняются между развертываниями и доступны только из веб-роли; это в основном статический кеш. Локальная часть является своего рода отвлекающим маневром, поскольку она не влияет на данные в веб-роли (помимо того, что является ее источником). По сути, я хочу иметь локальное хранилище/кеш данных, с которым я использую существующий код T-SQL/DAL.
Хотя я мог бы использовать SQL Azure, он ничего не добавляет, а если и добавляет, то только дополнительные накладные расходы и точки сбоя. Я также мог бы использовать роль виртуальной машины, но это слишком дорого/сложно.
В идеальном мире я бы упаковал MDF в cspkg (чтобы он был развернут вместе с приложением), а затем использовал его локально из роли. Если нет способа сделать это, то это нормально, и мне нужно выяснить плюсы и минусы других решений. Мы не живем в идеальном мире. :)