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

时间:2015-03-04 23:40:09

标签: firebird firebird2.5

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

3 个答案:

答案 0 :(得分:3)

没有。服务器需要独占访问数据库文件。对于Classic体系结构版本,多个fb_inet_server进程访问相同的文件,但是通过fb_lock_mgr进程管理锁。

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

答案 1 :(得分:1)

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

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

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

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

答案 2 :(得分:0)

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