火鸟用1个数据库文件来使用2个服务器



firebirdSQL是否可以运行2台共享1个数据库文件(FDB)/存储库的服务器?

否。服务器需要对数据库文件进行独占访问。在经典体系结构版本的情况下,多个fb_inet_server进程访问相同的文件,但锁是通过fb_lock_mgr进程管理的。

除非明确禁用此保护,否则不允许NFS或SMB/CIFS共享上的数据库。firebird.conf包含了强烈的警告,除非你真的知道自己在做什么,否则不要这样做。

如果您的意思是,如果不同主机上的两台服务器可以共享同一个数据库,那么不。

Firebird要么要求独占访问数据库(SuperServer),要么通过锁定文件(SuperClassic和ClassicServer)协调同一主机上不同进程对数据库的访问。

在这两种情况下,服务器都需要特定的锁定和写可见性保证,而大多数网络文件系统不提供这些保证(或者不提供Firebird所需的锁定语义)。

如果您真的,真的想,您可以通过更改firebird.conf中的设置,但这会导致数据库损坏或其他一致性问题。因此,这不是你应该做的事情。

每个SQL服务器都不允许这样的配置。如果你想拆分负载,也许你需要看看多层体系结构。使用此体系结构,您可以将SQL查询负载拆分到多台计算机上。

最新更新