Если Вы хотите избегать записи Вашего собственного механизма сериализации и десериализации для данных метабазы, можно использовать код, что Microsoft использует в Экспорте/Импорте функциональность XML в консоли IIS. Эй' ре, оказывающееся перед необходимостью писать код для взаимодействия через интерфейс с ним, но API, там, чтобы сделать то, что Вы хотите запустить в IIS 6.
Взгляните на объект IMSAdminBase2 и конкретно IMSAdminBase2:: Экспорт и IMSAdminBase2:: Методы импорта.
Вы могли использовать ADSI для выполнения то, что Вы ищете, но затем Вы говорите о перечислении метабазы, сериализации данных сами в Вашу собственную XML-схему, затем десериализация его и импортируете его в метабазу на целевом сервере сами. Я избежал бы этого, лично.
Вы корректны, SQL Agent не запустится, пока все базы данных не закончили восстановление. Из-за этого задачи репликации не начнут работать.
Транзакции накопятся в журнале транзакций, пока задание читателя журнала не будет запущено. Единственная вещь, которая будет волноваться по поводу, состоит в том, что подписчик в настоящее время вне синхронизации и будет, пока восстановление не завершается, и агент журнала начинает захватывать транзакции для агента распределения для отсылки.
Также в зависимости от того, сколько времени восстановление берет, у Вас могло закончиться пространство журнала, если у Вас есть достаточно транзакций, поскольку журнал не может быть очищен, пока записи журнала не вытянули в базу данных распространения.