在实践中(一般来说)事务日志是数据库服务器的一部分还是数据库本身的一部分?我无法在任何地方找到此域中的信息。我需要我正在组装的模型的信息...
如果这非常依赖于实施,我正在研究 SQL Server 2005/2008、MySQL 和 SQLite。但我更愿意尽可能保持一般性。
我想如果事务日志是服务器的一部分,那么整个服务器中会有一个(可能两个)事务日志。这与每个数据库都有一个事务日志相反,这将在单个服务器中为我们提供许多事务日志。
在实践中(一般来说)事务日志是数据库服务器的一部分还是数据库本身的一部分?我无法在任何地方找到此域中的信息。我需要我正在组装的模型的信息...
如果这非常依赖于实施,我正在研究 SQL Server 2005/2008、MySQL 和 SQLite。但我更愿意尽可能保持一般性。
我想如果事务日志是服务器的一部分,那么整个服务器中会有一个(可能两个)事务日志。这与每个数据库都有一个事务日志相反,这将在单个服务器中为我们提供许多事务日志。
补充一下 Joe 的评论,当对数据库的更改传输到数据库服务器时,它“针对”一个特定的数据库。但是,更改不会直接发生在数据库中。它存储在内存 (RAM) 中,然后写入事务日志。然后将事务日志写入(提交)到实际数据库。提交的时间因数据库软件(MySQL、SQL Server 等)、数据库引擎设置和其他变量而异。
总而言之:事务日志通常是单个数据库的一个组件。理论上,您可以在单个服务器上拥有数百个(数千个?!)事务日志。存在一些例外情况,例如 Exchange 服务器,其中事务日志是存储组的一个组件,可能有多个数据库……但我不会提及,因为它会搅浑水。=)
在 Microsoft SQL Server 中,事务日志是数据库的一个组件。