可用性增强功能(数据库引擎)

注意注意

对于 SQL Server 2008 R2,没有对本主题中所列的内容进行任何更改。

SQL Server 2008 数据库的可用性通过对数据库镜像进行增强得以改进。可以使用数据库镜像创建热备用服务器,从而提供快速故障转移且已提交的事务不会丢失数据。

数据库镜像

性能增强功能

性能增强功能包括:

  • 可在镜像服务器上预写传入日志流。

    在 SQL Server 2008 中,接收传入日志记录时,镜像服务器会将这些传入日志记录异步写入磁盘。同时,镜像服务器会处理已写入磁盘的日志记录。

  • 改进了日志发送缓冲区的使用。

    在 SQL Server 2005 中,每次对主体服务器进行的日志刷新操作都会为其日志记录保留整个数据库镜像日志发送缓冲区。在 SQL Server 2008 中,如果最近使用的日志缓存有足够的可用空间用于下一次日志刷新操作的日志记录,则会将这些日志记录追加到此日志缓存中。否则,会分配一个新的日志缓存。

  • 压缩事务日志记录的流。

    在将事务日志记录的流发送到镜像服务器之前,主体服务器先压缩它。在所有镜像会话中都会进行这种日志压缩。

  • 流数据压缩,至少可实现 12.5% 的压缩率。

  • 在撤消阶段可进行页预读。

    故障转移后,对于已将相应页写入本地磁盘,但相应日志记录可能尚未送达以前的镜像服务器(新主体服务器)的所有更改,新镜像服务器必须撤消这些更改。若要撤消这种已更改的页,镜像服务器必须先从新主体服务器请求并接收对应页。在撤消阶段中此部分的性能在 SQL Server 2008 中得到了增强。在撤消阶段早期,镜像服务器会向主体服务器发送预读提示,从而指示随后将请求的页。收到某页的预读提示后,主体服务器必须将此页置于其发送缓冲区中。收到对应的页请求后,主体服务器可立即做出响应。

从损坏的页自动恢复

在 SQL Server 2008 或更高版本上运行的数据库镜像伙伴会自动尝试解决某些阻止读取数据页的错误。无法读取页的伙伴会向其他伙伴请求新副本。如果此请求成功,则将以新副本替换不可读的页,这通常会解决该错误。有关详细信息,请参阅数据库镜像会话期间的自动页修复