史林枫:sqlserver数据库中数据日志的压缩及sqlserver占用内存管理设置
2016-10-25 19:37 史林枫 阅读(1410) 评论(4) 编辑 收藏 举报使用sqlserver和IIS开发.net B/S程序时,数据量逐渐增多,用户也逐渐增多,那么服务器的稳定性就需要维护了。数据库如何占用更小内存,无用的日志如何瞬间清空?
今天在给一个客户维护网站的时候,发现运行了2年的程序,数据库中主表的数据已超过70万条,按理说这样的数据量根本不算多。数据库是Sqlserver2012版本,服务器是Windows Server 2008。
在远程连接过程中,IIS和sqlserver总是打开一会儿自动闪退,打开任务管理器,发现IIS进程占用几百MB内存,数据库进程占用了将近600M内存。为了让服务器稳定运行IIS和sqlserver 我强制重启了服务器。
重启后,发现数据库和IIS都能正常打开使用了。数据库的日志文件已经有2个多GB,数据文件不到200MB。于是开始清空数据库日志:
需要用以下命令:
1 ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE -- 更改为简单模式 2 3 DBCC SHRINKDATABASE([数据库名称]) --压缩数据库命令 4 5 ALTER DATABASE [数据库名称] SET RECOVERY FULL --恢复为完全模式
先将数据库改为简单模式,再压缩数据库,最后恢复完全模式即可。这样数据库就回收了一部分空间,并清空了日志,只保留了必要的数据。
另外,数据库占用的内存是可以调控的,这里说一下可视化界面的调控
第一步:打开数据库 连接后 如图操作 右键选择属性
选择“内存”管理
调整最大内存,即可。这样就可以限制数据库占用的内存了。当然,这只是临时做法,真正优化数据库内存还有很多方法,如分库,分表,读写分离,程序优化,sql语句优化等。
关于IIS的内存占用过大,这里就只能优化程序了,某些算法的升级,请求次数的减少都可以帮助优化IIS所占用的内存。
主要研究技术:HTML5、CSS3、ASP.NET MVC、SqlServer、Jquery、EasyUI等
专注于 代码生成工具、Web开发框架、设计模式及其应用。
撰写人:史林枫 (qq:1326771967)
转载请注明出处
专注于 代码生成工具、Web开发框架、设计模式及其应用。
撰写人:史林枫 (qq:1326771967)
转载请注明出处