MS SQL Server recovery model and M-Files vault database
Posted by Ariful Mahmud (M-Files) on 18 December 2019 10:58 AM
M-Files supports Microsoft SQL Server 2012, 2014, 2016, 2017, or later as vault's database engine running on Windows platform. For best performance from M-Files it is always recommended to use MS SQL Server instead of default firebird database.
SQL server backup and restore is based on recovery model of the database. As of Microsoft "A recovery model is a database property that controls how transactions are logged, whether the transaction log requires (and allows) backing up, and what kinds of restore operations are available"
There are three recovery model option in MS SQL Server: Simple, Full, Bulk-logged. Mostly Simple model or Full model is used based on database operation.
Simple: This is the simplest among the available MS SQL recovery models. It has support for full, differential and file level backup support. It does not include log backups. It can recover only to the end of a backup, point in time recovery is not available.
Full: All the transactions (Data Definition Language and Data Manipulation Language) are stored in transaction log file. This recovery model supports point in time restore and has possibility for Full, Differential, Transaction log, Copy-Only, File and/or file-group and Partial backup.
Usually M-Files sets Simple as recovery model in vault database based on MS SQL Server. But SQL Server administrator can change the recovery model to Full or Bulk-logged according to need. And M-Files doesn't rollback this change.
Changing recovery model in Microsoft SQL Server from database properties using MS SQL Server management studio:
The same can be accomplished using following transact SQL:
ALTER DATABASE [<dbname>] SET RECOVERY FULL;
Recovery Models (SQL Server)
View or Change the Recovery Model of a Database