Ищете стратегии перемещения базы данных приложений
Сценарий:
У нас есть несколько серверов баз данных с несколькими базами данных на каждом.
У меня есть более 50 приложений (настольных и веб -), которые используют одну или несколько таких баз данных с одного или нескольких серверов.
Существуют различные способы доступа приложений к базам данных (типизированный набор данных, жестко закодированная строка подключения и т. д.).
Итак, теперь срок службы сервера SvrDb1 подходит к концу, поэтому создается сервер SvrDb5.
Некоторые базы данных на SvrDb1 будут перемещены на SvrDb5, но некоторые могут переместиться на другой существующий сервер баз данных. Мы не можем отключить SvrDb1, пока все базы данных не будут перемещены из него, поэтому сохранение одного и того же имени сервера исключено.
В настоящее время я сталкиваюсь с изменением строк подключения в каждой программе при перемещении связанной базы данных и, возможно, несколько раз для программы, использующей несколько баз данных.
Мне просто интересно, как другие избежали этой ситуации.
Что я уже пробовал:
Моя текущая мысль заключается в том, чтобы:
Создайте псевдоним в DNS для SvrDb5 под названием AliasDb
Создайте базу данных & таблицу на SvrDb5/AliasDb, чтобы хранить запись для текущего местоположения (или строки подключения, или ??) для каждой из баз данных.
Например, запись может содержать: база данных:клиенты, местоположение:SvrDb1
Затем в каждом приложении я изменяю его, чтобы посмотреть таблицу базы данных на AliasDb, получить текущее местоположение базы данных, требуемой программой, соответствующим образом изменить строку подключения во время выполнения.
В будущем, когда SvrDb5 достигнет конца срока службы, я перемещаю базу данных местоположений на новый сервер и изменяю DNS-запись AliasDb, чтобы она указывала на новый сервер.
Когда база данных приложения перемещается на новый сервер, я изменяю только запись для этой базы данных в таблице базы данных местоположений, чтобы отразить новый сервер, и все программы, использующие эту базу данных приложения, немедленно начнут использовать новый сервер в своих строках подключения.
Кроме того, я думаю, что эта база данных "местоположение ресурса" может содержать другую информацию, например адрес некоторых служб, используемых программами, когда наши веб-серверы достигают конца срока службы, я могу перемещать каждую службу по одному и вносить одно изменение для нового местоположения.
Кто-нибудь использует гораздо лучшие/более простые стратегии, которыми они хотели бы поделиться?