Я использую класс SMO Transfer
для копирования производственной базы данных в тестовую среду. Это великолепно работало, пока база данных производства не увеличилась и не изменилась более часто. Теперь операция копирования часто не на получение ограничений на (я предполагаю, что это то, что он есть):Как осуществлять транзакционную SMO-передачу базы данных?
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint <...>
Это странно, потому что я предполагал, что извлечение стороны операции копирования была областью действия в сделке, а также Уровень транзакции SQL Azure по умолчанию считывается с моментальным снимком. Снимок должен показывать отсутствие ограничений, о которых я думал.
Я уже пробовал поместить соединение передачи в другую транзакцию, но это не влияет.
Знает ли кто-нибудь об этом?
DACFx похоже, прекрасно работает, спасибо за подсказку! – John
Однако DACFx кажется чрезвычайно медленным - восстановление базы данных образца с соответствующим .BAK-файлом в 300 МБ занимает поразительные 40 минут, по сравнению с 10 секундами, которые требуется восстановить на SQL SERVER. SMO было медленнее, чем восстановление, но не так медленно. Интересно, что я делаю что-то неправильно. Я не могу поверить, что это полезно для любого человека с такой производительностью. – John