> Thanks! As a workaround, I attempted gfix -write sync, but alas, it will
> work only if no other attachments. We start the copy at midnight, when
> it's likely there won't be other connections, but can't be guaranteed.
> For now, I've added, between lock and copy, a dummy isql script that
> does a select and commits, and then a 1 hour delay before starting copy.
> But I fear this won't guarantee that the flush happens before copy starts.
> While waiting for a fix(?) I'd appreaciate other suggestions how to
> force that flush to happen sooner.
How often Firebird flushes database is ruled by two configuration parameters:
MaxUnflushedWrites and MaxUnflushedWriteTime. Also, note - for database
with ForcedWrites = ON there is no explicit flush at all.
I've made a quick look at FastCopy source code and found that if "Nonstop"
checkbox is checked - it will ignore changed timestamp of source file (while
still should react on real copy errors).
Or, you may want to disable updating of "modify file" timestamp at OS level -
this is often used at Windows servers to reduce IO load.
Hope it helps,