How to restore a native Navision database to SQL Server?

When moving from the "native Navision" database to use SQL Server the way is to create a Navision backup and restore this into SQL Server.

But if you are restoring a very large Navision backup then it will be something that will take a very long time, even for a strong SQL Server. When Navision handles such a "native" restore it is doing it as one
huge transaction, thus causing super-load on the SQL Server. For each
company the table-objects have to be created, and their related indexes
and SIFT/VSIFT structures.

This all is causing tremendous write transactions, so also a
powerful disk-subsystem is essential. RAID5 is actually an absolute NO
GO for databases, especially for the Transaction Log file.

To reduce the "single impact" on the SQL Server, you could also proceed like this:

Native DB: For all NAV Keys set "MaintainSQLIndex" and "MaintainSIFTIndex" to FALSE
(except for the clustered index; this could be done with a few lines of
C/AL code, modifying table 2000000067 "Key" or manually just for the
most important/large tables)

Native DB: Create the native Backup (FBK)

SQL DB: Restore the FBK (maybe not all companies at a time) - only the table objects have to be created but no indexes and SIFT/VSIFT

SQL DB: Import the FOB from Step 1; maybe large tables alone (one by one) - this will create the indexes/SIFT/VSIFT; but after each import-batch you could commit, thus reducing the load on the system

Also you should be running the Navision client directly on the SQL Server while doing this. You can remove it again after the restore.