在 SQL Server 中的磁盘控制器缓存的说明

适用于: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL 2005 Server Enterprise

概要


使用写缓存 (也称为写回缓存) 磁盘控制器可以提高 SQL Server 的性能。写缓存控制器和磁盘子系统是安全的 SQL Server,如果它们专为数据关键事务数据库管理系统 (DBMS) 环境中的使用。如果在系统出现故障,这些设计特点必须保留缓存的数据。使用外部的不间断电源 (UPS) 为了实现这一点通常是不足够的因为可能发生的故障模式,都与电源无关。

缓存控制器和磁盘子系统,可以放心使用的 SQL Server。大多数新的专门的服务器平台中纳入这些都是安全的。但是,您应该咨询您的硬件供应商联系,以确保该磁盘子系统经过专门测试和批准数据关键事务关系数据库管理系统 (RDBMS) 环境中的使用。


详细信息


SQL Server 数据修改语句生成逻辑页写入。写入此流可以如图所示为进入两个地方︰ 在日志和数据库本身。出于性能原因,SQL Server 将推迟到它自己的高速缓存缓冲区系统通过数据库的写入操作。写入日志都只是暂时推迟到提交时间。他们不会缓存中的数据写操作的方法相同。因为给定页的日志写操作前必须将写入日志有时也称为"写前"日志页的数据。

事务完整性是关系数据库系统的基本概念之一。交易记录被视为工作完全应用或完全回滚的原子单位。SQL Server 提前写入事务日志时的至关重要的组件中实现事务完整性。

任何关系数据库的系统还必须处理与密切相关的事务完整性,这是从意外的系统故障中恢复的概念。非理想很多,实际效果可能会导致此故障。许多数据库管理系统,在系统出现故障可能会导致长时间导向人工手动恢复过程。

与此相反,SQL Server 恢复机制是完全自动进行的操作而无需人工干预。例如,SQL Server 可以支持关键任务生产应用程序中,并体验系统失败的原因是瞬息的电源不稳定。在电源恢复之后,将重新启动服务器硬件、 网络软件将加载和初始化,并将重新启动 SQL Server。随着 SQL Server 初始化时,它将自动运行基于事务日志中的数据的恢复过程。这整个过程无需人工干预。只要客户端工作站重新启动,用户会发现他们的存在,直到他们输入的最后一个交易记录数据的所有。

SQL Server 事务完整性和自动恢复构成一个非常强大的时间人工保存功能。如果写缓存控制器未正确地设计数据重要事务 DBMS 环境中使用,它可能会影响 SQL Server 能够恢复,因此损坏数据库。如果控制器截获 SQL Server 事务日志写入和缓冲区中硬件缓存控制器板,但不会保留这些系统故障过程中写入页面,可以发生这种情况。

最缓存控制器执行的写入缓存。不能总是禁用写缓存功能。

即使服务器使用 UPS,这不能保证缓存的写入操作的安全性。UPS 不能解决,可能会出现系统故障的许多类型。例如,内存奇偶校验错误、 操作系统陷阱或硬件故障导致系统重置会产生无法控制的系统中断。在硬件写入缓存的内存故障也可能导致丢失重要日志信息。

在系统关机时,写缓存控制器与相关的另一个可能存在的问题可能会发生。不少见"重启"操作系统或配置更改时重新启动系统。即使小心运算符遵循推荐的操作系统进行等待,直到所有磁盘活动已都不重新启动系统之前,缓存的写入操作仍可以在控制器中出现。在按下 CTRL + ALT + DEL 组合键,或按下重置按钮时,可以放弃缓存的写入,潜在的破坏性数据库。

它为设计硬件写缓存,而会考虑放弃脏缓存数据,因此可以安全使用的数据库服务器的所有可能原因。这些功能将包括截取 RST 总线信号以避免失控的重置缓存控制器,板载电池备份和镜像的设计或 ERC (错误检查和更正) 内存中的一些。请与您的硬件供应商联系,以确保写入缓存,包括这些和避免数据丢失所需的任何其他功能。

SQL Server 要求系统,以支持 Microsoft SQL Server Always-On 存储解决方案审查计划下所述的保证的传递到稳定的媒体。 Fo有关 SQL Server 数据库引擎的输入和输出要求的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

967576 Microsoft SQL Server 数据库引擎的输入/输出要求