当我执行Firebird 3.0.x备份命令时:
c:\Db>"C:\Program Files\Firebird\Firebird_3_0\gbak.exe" -b c:\Db\Db1.fdb c:\Db\Db1_backup.fbk -garbage_collect -transportable -verify -user SYSDBA -pas PASSWORD
发生错误1:
gbak: ERROR:I/O error during "CreateFile (open)" operation for file "C:\DB\DB1.FDB"
gbak: ERROR: Error while trying to open file
gbak: ERROR: The process cannot access the file because it is being used by another process.
gbak:Exiting before completion due to errors
具有TCP / INET / localhost /远程协议的示例2:
c:\Db>"c:\Program Files\Firebird\Firebird_3_0\gbak.exe" -backup inet://c:\Db\Db1.fdb d:\_Backups\Db1_20180702_230546.fbk -garbage_collect -transportable -verify -skip_data SOMETAB_TO_SKIP -user SYSDBA -password PASSWORD123
发生错误2:
gbak: ERROR:Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
首先...说实话,我不确定何时开始或为什么开始。我可能没有看服务器三个月,但是今天我的备份磁盘坏了,所以我不得不这么做。我今天才第一次看到此错误,我坚信我的备份有效。但是我以前有Firebird 2.5。
问题是:这仅适用于Windows上的Firebird 3 SuperServer吗?当FB服务器使用Firebird 3 SuperServer数据库时,没有办法备份它吗?
在Windows Server 2016的Firebird服务器3.0.2和3.0.3上测试并失败。
Firebird正在作为服务运行
firebird.config中的任何内容均未更改,除了:
WireCompression = true
RemoteServicePort = 1234
CpuAffinityMask = 8
ServerMode = Super or SuperClassic (when I testing it)
当我在SuperClassic上执行第一个命令时,它可以工作。
当我在SuperServer 2.5.x上执行第一个命令时,它将起作用。
答案 0 :(得分:0)
好,所以我终于弄清楚了问题出在哪里。这是解释:
我的密码错误!
但是!
当我使用SuperClassic时,我可以使用 WRONG 密码和Firebird 允许访问数据库。 (以本地用户身份)
当我使用SuperServer时,我可以使用 WRONG 密码和Firebird 允许访问数据库,而当我是 FIRST连接时! (作为具有和不具有远程协议的本地用户)
当我使用SuperServer并使用WRONG密码时,Firebird拒绝访问数据库,这是我的第二个(或更多)连接! (本地也是远程用户)
只有远程协议,您不能使用错误的密码访问数据库。
(根据我的意思是远程协议 this。)
这是行为不同的原因,也是为什么我没有看到使用WRONG密码的原因。感谢所有试图帮助我的人。