1
我下面在這個網站的例子:http://www.firebirdsql.org/manual/gbak-recipies.html無法還原數據庫備份(「數據庫可以使用」即使關機後)
更具體而言,以下三個命令:
tux> gbak -backup employee /backups/employee.fbk
tux> gfix -shut -tran 60 employee
tux> gbak -replace /backups/employee.fbk employee
我有替換命令以符合我的數據結構,然後命令如下:
gbak.exe -user SYSDBA -pas masterkey -backup C:\Database\MyDB.fdb C:\Temp\DbBackup.fbk
gfix -user SYSDBA -pas masterkey -shut single -force 0 "C:\Database\MyDB.fdb"
gbak -user SYSDBA -pas masterkey -replace C:\Temp\DbBackup.fbk C:\Database\MyDB.fdb
將備份創建到C:\ Temp。 有時候關機命令不工作,我固定,通過確保數據庫實際上是將其關閉之前在線:
gfix -user SYSDBA -pas masterkey -online C:\Database\MyDB.fdb
然而,即使沒有關閉數據庫時的錯誤,總是恢復抱怨:
gbak: ERROR:could not drop database c:\Database\MyDB.fdb (database might be in use)
gbak:Exiting before completion due to errors
爲什麼在數據庫關閉時這樣做?
我也試圖與full
代替single
關閉數據庫。還原則提供了以下錯誤,而不是:
gbak: ERROR:invalid database handle (no active connection)
gbak:Exiting before completion due to errors
gbak: ERROR:invalid database handle (no active connection)
我的猜測是因爲數據庫完全關閉,並允許無連接,因此少了一個東西來檢查。
關機功能通常需要多長時間?我在關機命令後等了5分鐘,仍然收到「正在使用」的信息。 – GTHvidsten 2015-02-10 08:16:58
此外,即使在完全關閉後,該文件仍然在使用中,因爲我無法移動或重命名數據庫文件。 – GTHvidsten 2015-02-10 08:41:28