当您启动 SQL Server 实例或还原或附加数据库时记录 9017 信息性消息

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

本文内容

症状

当您启动 Microsoft SQL Server 实例或还原或附加数据库时,SQL Server 错误日志中记录 9017 信息性消息类似于以下:

数据库 dbName 具有多个 n 这是过多的虚拟日志文件。长启动和备份时间,则可能会导致太多的虚拟日志文件。考虑收缩日志,并使用不同的增量减少虚拟日志文件的数量。

太多的虚拟日志文件可能会影响数据库的恢复时间。

此外,如果您在您的环境中使用复制或数据库镜像技术,您可能会注意到使用这些技术的性能问题。

原因

指定较小的值时,会出现此问题 文件增长参数 为您的日志文件。

SQL Server 数据库引擎将每个物理的日志文件内部分成几个虚拟日志文件 (Vlf)。SQL Server 2008 R2 Service Pack 2 和更高版本推出时数据库启动 (因为启动 SQL Server 的实例或由于附加或还原的数据库) 和在 SQL Server 2008 R2 中有 1000 多个 Vlf 或 SQL Server 2012年中已超过 10000 个 VLF 就会记录一个新邮件 (9017)。

注意在 SQL Server 2012 年,尽管当数据库具有 10000) vlf 后,会记录此消息会在错误日志中错误地报告的实际消息指出"1000 VLF。"基本上,在 10000 Vlf 后出现的警告。但是,该消息报告 1000 Vlf。在将来的版本中,此问题将得到纠正。

有关如何 Vlf 数目增多,从而可能会导致复制或数据库镜像配置中的性能问题的详细信息,请参阅"更多信息"一节。

解决方案

若要解决此问题,请按照下列步骤操作:
  1. 通过减少事务日志 DBCC SHRINKDB 也可以通过 SQL Server 管理的 Studio。
  2. 增加大小事务日志文件为较大值,以避免频繁自动增长。有关详细信息,请参阅 SQL Server 联机丛书的网站上的以下主题:

    http://msdn.microsoft.com/en-us/library/ms365418.aspx#AddOrEnlarge
  3. 增加 文件增长参数 对较大的值,而不当前配置。这应根据活动的数据库和您日志文件频率不断增加。

此外,我们建议您考虑安装下面的修补程序,具体取决于您当前正在运行的 SQL Server 的版本:


更多信息

如何检查的数据库中 VLF 段数

通过数据库中找到的最早的事务日志备份的最新日志序列号 (LSNs) 之间的差异,可以在数据库中找到的 VLF 段数。

可以找到的事务日志备份的 LSN 通过检查 SQL Server 错误日志中的一条类似于以下的消息:

{已备份日志。数据库: mydbnamecreation_date_(time): 日期(时间),第一个 LSN: 1: 5068:70,最后的 LSN: 1: 5108:1、 转储设备数: 1,设备信息: (文件 = 1,类型 = 磁盘: {'C:\folder\logbackup1.trn'})。这是信息性消息。不需要任何用户操作。

注意此消息中,事务日志的 LSN 为1。(它是第一个数字中的第一个冒号之前"LSN: 1:5068:70。")

若要执行此操作,请执行以下步骤:
  1. Earliesttransaction 日志备份的数据库的 LSN 查找您的 SQL 错误日志中 (例如,LSN: 1:5108:1)。
  2. 查找最新的 LSN SQL 错误日志中的事务日志备份 (例如,LSN:10,235: 5108: 1)。
  3. VLF 区段数目是最新的 LSN 和最早的 LSN 之间的差异 (在这种情况下,它是 10,235-1 = 10,234)。

大量 Vlf 复制上的效果

日志文件太多会影响复制,因为日志读取器进程必须扫描标记为复制的交易记录的每个虚拟日志文件。通过跟踪sp_replcmds存储过程的性能,您可以看到这种现象。Sp_replcmds存储过程来扫描虚拟日志文件并读取标记为复制的事务日志读取器进程使用。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

949523 小"初始大小"属性的值,并自动增长设置属性的值时,才高在 SQL Server 2005 中的事务复制滞后时间

大量 Vlf 数据库镜像上的效果

日志文件太多也会影响数据库镜像。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2455009在恢复数据库时,如果在 SQL Server 2005,SQL Server 2008 中或 SQL Server 2008 R2 中的事务日志内的许多 Vlf 修复: 低速性能

参考

有关详细信息,请参阅 Microsoft 开发人员网络 (MSDN) 网站上的以下主题:

收缩事务日志

可延迟日志截断的因素

事务日志截断

事务日志逻辑体系结构

事务日志物理体系结构


属性

文章编号: 2882905 - 最后修改: 2013年9月12日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
关键字:?
kbexpertiseinter kbprb kbsurveynew kbmt KB2882905 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 2882905
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