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