How remove Memory Optimized File

Моя история избавления от In-Memory OLTP, база на продакшене, так что просто грохнуть ее и забыть, никак.

А началось все с этого: «Msg 41385, Level 16, State 1, Procedure sp_cdc_enable_db, Line 31 [Batch Start Line 2] A database cannot be enabled for both Change Data Capture (CDC) and MEMORY_OPTIMIZED_DATA storage.»

В базе все таблицы в оптимизированные на использование памяти заменил на табличные переменные.
Попытался удалить группу, «The file ‘MOD’ cannot be removed because it is not empty».
Можно пытаться сделать файл пустым и тд и тп, но все будет безрезультатно, потому как читать нужно документацию, и вот что сказал майкрософт, » Once you create a memory-optimized filegroup, you can only remove it by dropping the database. SQL Server does not allow you to remove an In-Memory OLTP filegroup from the database even after you drop all memory-optimized tables.», в общем искоренить MEMORY_OPTIMIZED_DATA storage можно только одним способом дропнув БД.

В моем случае в базе присутствуют таблицы с ограничениями по внешним ключам, а так же таблицы содержащие null-ы при заданном значении по умолчанию для столбца, задействован полнотекстовый поиск.
Ну да ладно, приступим, воспользуемся SQL Server Management Studio (SSMS) и утилитой DTExecUI.exe

1) Создаем скрипт базы. Безымянный1 Безымянный2 Безымянный3 Безымянный4 Безымянный5 Безымянный6

2) Правим полученный файла, удаляем файловую группу, ну и все это во временную БД, для сверки. Безымянный7 Безымянный8
3) Импорт данных («Import data…», курсор на скрине не на том пункте), готовим пакет для импорта, указываем источник, назначение, выбираем таблицы, указываем на необходимость вставки идентификаторов, сохраняем пакет в файл, затем его подправим и отправим на выполнение. Безымянный9 Безымянный10 Безымянный11 Безымянный12 Безымянный13 Безымянный14 Безымянный15 Безымянный16 Безымянный17 Безымянный18
Отключаем контроль ограничений, иначе будет плохо. Безымянный19 Безымянный20
Вот так, плохо. Безымянный20_1
Меняем keepnulls на true, иначе нулы заменятся на значения по умолчанию. Безымянный21 Безымянный22
И отправляем пакет на выполнение. Безымянный23 Безымянный24 Безымянный25

Готово. По этим же шагам можно и понижение версии сделать.