我有两个使用数据库镜像镜像到另一台服务器的数据库。镜像服务器由于某种原因不得不关闭几天。现在生产服务器的主体数据库处于 (PRINCIPAL/DISCONNECTED) 状态。客户可以访问这些数据库。那么当他们继续向这些数据库添加数据时会发生什么?数据会被提交还是等到镜像出现?
我有两个使用数据库镜像镜像到另一台服务器的数据库。镜像服务器由于某种原因不得不关闭几天。现在生产服务器的主体数据库处于 (PRINCIPAL/DISCONNECTED) 状态。客户可以访问这些数据库。那么当他们继续向这些数据库添加数据时会发生什么?数据会被提交还是等到镜像出现?
数据将被提交,否则镜像将被称为“高不可用性”功能。主体上的日志将增长,因为它必须保存所有未传送到镜像的事务。当最终镜像恢复时,主体将显示 PRINCIPAL/SYNCHRONIZING,因为日志将被传送到镜像。当事务被传送到镜像时,日志将开始释放。当镜像接收到所有事务时,主体将进入状态 PRINCIPAL/SYNCHRONIZED。根据此状态下的镜像类型(同步/异步),客户端在提交时可能会等待所有每个事务都发送到镜像。
如果断开连接很长并且主体上的日志变得非常大,则镜像在重新连接时必须将日志增长到相似的大小。如果没有足够的磁盘空间,镜像将不会恢复(镜像上的 ERRORLOG 和系统事件日志将指示此问题)。