Как я могу запустить несколько версий моего приложения в одной и той же базе данных?

Backround : У меня есть несколько версий моего приложения, работающих в моей производственной среде. В зависимости от используемой учетной записи пользователя у пользователя будет доступ к другой версии программного обеспечения.

Среда : в настоящее время SQL Server 2005, неизбежный переход на SQL Server 2008, ASP.Net

Проблема : каждая версия программного обеспечения может использовать или не использовать разные версии хранимых процедур, которые взаимодействуют с данные в базе данных. В настоящее время, когда версия изменяется, тот, кто ее изменяет, создает новую копию и добавляет в конец инкрементный номер версии. На данный момент у нас есть множество версий одних сохраненных процессов и только одна версия других, и никто не уверен, какая версия приложения указывает на какую версию сохраненных процессов - это беспорядок.

Я ищу решение, которое аккуратно упакует сохраненные процессы для любой данной версии приложения, которая будет использоваться в качестве основы для новой версии. Это означает, что новую версию приложения можно указать на новый набор процедур, которые можно переписать или изменить для содержимого конечного пользователя, не затрагивая другие версии приложений, которые в настоящее время доступны в производстве.

Изначально я думал о схемах, но одна часть проблемы заключается в том, что процессы сильно связаны с другими процедурами и пользовательскими функциями, поэтому при копировании в другую схему мы бы в новинку отображали и заменяли все эти ссылки, которые не не идеальный.

Похоже, это проблема, которую уже нужно решить, но я не знаю, что ищу, чтобы найти жизнеспособное решение.

Есть ли у кого-нибудь идеи?

6
задан BenAlabaster 19 January 2012 в 22:45
поделиться