• sqlserver日志文件


    过程:   昨天下午数据库奔溃,表现就是连不上数据库了,重启服务之后好了。

                  查询日文文件 , “Autogrow of file 'XX_log' in database 'XX' was cancelled by user or timed out after 1896 milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.”。

                  找到原因: 数据库在自动增长,所以连接超时。

    分析:数据库日志文件满了,开始自动增长,自动增长方式是按默认的10%。这个初期是没有问题的,但是到了后期。日志文件巨大,有几十G,几十g的百分之十也有几个G,所以再去磁盘上再分配这么大的空间,很容易超时。

    解决办法:1,把自动增长的方式设置为固定,太小了,容易造成磁盘碎片,太大容易超时。一般500M是没有问题的。

         2,定期收缩日志文件。

                       

    其他:sqlserver 数据库的文件有mdf文件和ldf文件。mdf是数据文件,ldf是日志文件。假如有完整的日志文件,可以把数据库恢复到任何一个时间点的状态 。可见日志文件的重要性,但是日志文件一般增长很快,所以需要定期收缩。

                 

    USE[master]  
    GO  
    ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT  
    GO  
    ALTER DATABASE 数据库名 SET RECOVERY SIMPLE   --简单模式  
    GO  
    USE Rk  
    GO  
    DBCC SHRINKFILE (N'数据库名_log' , 2, TRUNCATEONLY)  --设置压缩后的日志大小为2M,可以自行指定  
    GO  
    USE[master]  
    GO  
    ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT  
    GO  
    ALTER DATABASE 数据库名 SET RECOVERY FULL  --还原为完全模式  
    GO  

          可以分为三步,把数据表设置为简单模式,收缩,再设置回完整模式。

        数据库有三种模式,简单恢复模式,完整恢复模式,大容量日志恢复模式 

    ,可以看这里   https://www.cnblogs.com/OpenCoder/p/5708226.html

  • 相关阅读:
    [转]Session and application state in ASP.NET Core
    [转]Asp.net Core中使用Session
    [转]Cookie/Session机制详解
    [转] asp.net core Introducing View Components
    [转]ASP.NET Core 十种方式扩展你的 Views
    [转]asp.net core视图组件(ViewComponent)简单使用
    [转]ASP.NET Core集成微信登录
    [转].Net Core上用于代替System.Drawing的类库
    [转]【无私分享:ASP.NET CORE 项目实战(第十四章)】图形验证码的实现
    [转]在离线环境中发布.NET Core至Windows Server 2008
  • 原文地址:https://www.cnblogs.com/jimsfriend/p/8970569.html
Copyright © 2020-2023  润新知