你目前正处于脱机状态,正在等待 Internet 重新连接

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

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 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 联机丛书的网站上的以下主题:

  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) 网站上的以下主题:


警告:本文已自动翻译

属性

文章 ID:2882905 - 上次审阅时间:09/12/2013 03:53:00 - 修订版本: 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
反馈
s://c.microsoft.com/ms.js"> ript type="text/javascript">var guid = ("xxxxxxxx-xxxx-4xxx-Rxxx-xxxxxxxxxxxx".replace(/x/g, function () { return Math.floor(Math.random() * 16).toString(16); })).replace("R", (8 | Math.floor(Math.random() * 3)).toString(16)); var m = document.createElement("meta"); m.content = guid; m.name = "ms.dqid"; document.getElementsByTagName("head")[0].appendChild(m);