到目前为止,我一直在使用本地数据库SQLite,我的Winforms应用程序管理所有维护本身:
现在,如果我想开始使用标准数据库服务器与更多用户而不是本地数据库,谁负责所有这些维护任务?例如,如果一个用户正在运行客户端应用程序,则另一个用户无法从其备份中还原数据库。我应该遵循一般规则吗?
谢谢, 彼得
答案 0 :(得分:0)
如果有多个用户连接到数据库(可能使用不同版本的应用程序),则在架构更改时,您将让管理员“升级”数据库。备份和恢复也将是核心。在您的应用程序中,没有任何阻碍其他用户访问数据库的功能 - 它们都集中在数据库服务器上。
答案 1 :(得分:0)
您描述的多用户场景通常由真正的客户端 - 服务器数据库引擎处理,该引擎作为服务器上的进程运行并通过消息传递协议与客户端通信;消息告诉服务器它应该做什么,服务器进程完成任务;但是客户端没有直接控制服务器上的操作,也没有直接访问驻留在数据库服务器上的磁盘空间分配的数据。这样的引擎不仅提供强大的并发性,而且还提供维护实用程序,使数据库优雅地降低,就像汽车可以在车库中被抬起一样,因此机械师可以进入下面。你不希望司机或乘客,你不希望用户在这种条件下。 SQLite不是这样的数据库引擎:客户端能够通过O / S机制将锁直接放在磁盘驱动器上的数据上。 SQLite做得非常好。但它没有做你想做的事。