Изменить строку таблицы при экспорте / импорте таблицы в другую базу данных SQL Server - PullRequest
0 голосов
/ 04 февраля 2019

У меня проблема с производственной базой данных, поэтому я хочу воспроизвести проблему в моей базе данных разработки.Я использую СУБД SQL Server 2016 (SP1)

. Чтобы воспроизвести ошибку, я копирую все данные в базу данных разработки с помощью экспорта в SQL Server Management Studio.

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

  • Что произойдет сизмененная строка (вставка, обновление или даже удаление) во время экспорта данных.Будет ли он экспортирован в мою базу данных разработки?И почему, например, как SQL Server обрабатывает нечто подобное?

  • Каков хороший способ перевести производственную базу данных в базу данных разработки?

  • Икрайний, что произойдет, если столбцы таблицы изменятся во время экспорта?

РЕДАКТИРОВАТЬ: я должен отметить, что версия СУБД в производстве выше, чем разработка, поэтому я не могуиспользовать резервную копию / восстановление для перемещения базы данных

1 Ответ

0 голосов
/ 04 февраля 2019

Как правильно перевести производственную базу данных в базу данных для разработки

Вам следует backup свою базу данных на рабочем сервере и restore на сервере разработки.Это не будет блокировать пользовательскую активность на prod

Что произойдет с измененной строкой (вставка, обновление или даже удаление) во время экспорта данных.

Если ваш insert / update работает одновременно, но процесс чтения уже записан в таблице, ваши изменения будут заблокированы.И наоборот, если какой-либо DML уже запущен в тех же строках, процесс чтения будет ожидать, пока изменение не будет зафиксировано / откатано.

И, наконец, что произойдет, если столбцы таблицы изменятся во время экспортанаходится в процессе?

Пока вы читаете Sch-S блокировка удерживается на таблице, поэтому изменение столбца невозможно, пока эта блокировка не будет снята.

...