将硬盘控制器缓存与 SQL Server 一起使用

文章翻译 文章翻译
文章编号: 46091 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

下面的信息描述将 SQL Server 与控制器卡上带有缓存内存(最大 16 MB)的硬盘控制器卡一起使用的效果。使用此种类型的卡可以享受磁盘缓存带来的好处,无需考虑通常与磁盘缓存相关的内存得失。缓存算法包括写缓存和写回时的“电梯排序”,要写入的数据采用这样的排序可以最大程度地减少磁头的移动。

更多信息

问题 1
问:假设 SQL Server 服务器连接到 UPS 以避免由于电源故障带来的数据崩溃,那么使用此类型的控制器时是否会出现 SQL Server 导致的问题?

答:如果磁盘控制器无法为 SQL Server 事务日志写出数据,SQL Server 恢复将无法正确进行。


问题 2
问:此种缓存控制器对 SQL Server 的性能有何影响?

答:如果缓存控制器始终能够写入分配给它的磁盘(即使键盘出现故障、操作系统崩溃或硬盘崩溃),则不会有任何问题。相反,如果磁盘控制器延迟写入某些 SQL Server 日志数据,并选择实际应用其他日志数据(由于“电梯”排序),而且出于某些原因无法写入其余数据,则 SQL Server 无法知道某些日志已丢失。即使采用热启动,甚至从快照备份前滚,也无法正确还原数据库。最坏的情况是,在恢复过程中没有出现故障,但是稍后发现数据崩溃。

如果磁盘控制器采用了很可靠的设计,它可以允许选择性写入。包含 SQL Server 事务日志的设备必须始终可以写入。另外,如果自动热启动可以使工作恢复正常,所有 SQL Server 设备必须在检查点进行刷新。如果磁盘控制器不允许选择性写入,则唯一的替代方法是经常进行备份,并且永不依靠热启动或前滚事务日志。


问题 3
问:应当由 SQL Server 执行缓存操作,还是应当由磁盘控制器执行缓存操作?

答:具体取决于哪种方法更快。我们的实验表明,SQL Server 缓存比操作系统磁盘缓存效率更高。但是,我们无法知道它是否比特定类型的磁盘控制器使用的缓存效率更高。SQL Server 缓存可能没有硬件缓存速度快,但是它具有“内在知识”,可以更聪明地工作。

在代表性工作量下运行,也就是说,将 SQL Server 内存参数设置为支持安装所需的用户数的最小值(磁盘控制器缓存处于活动状态)。然后,将内存参数设置为该值加上磁盘控制器缓存中的 RAM 数(磁盘控制器缓存处于停用状态),再尝试运行。为了进行真正准确的比较,这两种情况下过程缓存中的页数必须相等。这多少带有一些欺骗性,因为过程缓存的大小是用占总缓存大小的百分比指定的,而总缓存大小是由内存参数和用户连接数参数指定的。总缓存大小是内存参数指定的空间减去为每个用户连接分配 42K 后剩余的量。根据过程缓存参数,将该剩余量分配给过程和数据页缓存。

属性

文章编号: 46091 - 最后修改: 2006年11月3日 - 修订: 4.1
这篇文章中的信息适用于:
  • Microsoft SQL Server 4.21a 标准版
  • Microsoft SQL Server 6.0 标准版
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 2000 标准版
关键字:?
kbhardware KB46091
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com