SQL服务器的数据库镜像

use*_*996 2 sql database-mirroring sql-server sql-server-2005 sql-server-2008

我有两个使用数据库镜像镜像到另一台服务器的数据库。由于某种原因,镜像服务器必须关闭几天。现在生产服务器的主体数据库处于 (PRINCIPAL/DISCONNECTED) 状态。客户端可以访问这些数据库。那么当他们不断向这些数据库添加数据时会发生什么?数据会被提交还是等到镜像出现?

Rem*_*anu 5

数据将被提交,否则镜像将被称为“高不可用”功能。主体上的日志将增长,因为它必须保存所有未传送到镜像的事务。当最终镜像恢复时,主体将显示 PRINCIPAL/SYNCHRONIZING,因为日志将被传送到镜像。当事务被传送到镜像时,日志将开始释放。当镜像收到所有交易时,主体将进入状态 PRINCIPAL/SYNCHRONIZED。根据此状态下的镜像类型(同步/异步),客户端可能会在提交时等待所有每个事务都发送到镜像。

如果断开连接很长时间并且主体上的日志变得非常大,则镜像在重新连接时必须将日志增长到类似的大小。如果没有足够的磁盘空间,镜像将不会恢复(镜像上的 ERRORLOG 和系统事件日志将指示此问题)。