*UPDATE* I have changed batch, switch -online before change write mode. Actually the batch is:
"%FB_PATH%\GSTAT.EXE" -h %DB1% >> %LOG_FILE% "%FB_PATH%\GFIX.EXE" -shut full -force 0 -user SYSDBA -password masterkey %DB1% >> %LOG_FILE% "%FB_PATH%\GFIX.EXE" -online normal -user SYSDBA -password masterkey %DB1% >> %LOG_FILE% "%FB_PATH%\GFIX.EXE" -write sync -user SYSDBA -password masterkey %DB1% >> %LOG_FILE% "%FB_PATH%\GSTAT.EXE" -h %DB1% >> %LOG_FILE% >From log file it's all ok: ######## 2014_11_13 3.30.50,84 [...] Next header page 0 Database dialect 3 Creation date Aug 19, 2014 21:56:08 Attributes Variable header data: Sweep interval: 20000 *END* <after gfix -write sync> [...] Page buffers 0 Next header page 0 Database dialect 3 Creation date Aug 19, 2014 21:56:08 Attributes force write Variable header data: Sweep interval: 20000 *END* But actually force write is off: ######## 2014_11_13 10.45.33,75 [...] Implementation ID 16 Shadow count 0 Page buffers 0 Next header page 0 Database dialect 3 Creation date Aug 19, 2014 21:56:08 Attributes <<<<<<<<<<<<<< Variable header data: Sweep interval: 20000 *END* How is possible? Any idea? Firebird versione is 2.5.3 on Windows Standard Server 2008.