阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SQL Server数据库中数据日志的压缩及SQL Server占用内存管理设置

155次阅读
没有评论

共计 816 个字符,预计需要花费 3 分钟才能阅读完成。

使用 SQL Server 和 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 Server 数据库中数据日志的压缩及 SQL Server 占用内存管理设置

选择“内存”管理 

SQL Server 数据库中数据日志的压缩及 SQL Server 占用内存管理设置

调整最大内存,即可。这样就可以限制数据库占用的内存了。当然,这只是临时做法,真正优化数据库内存还有很多方法,如分库,分表,读写分离,程序优化,sql 语句优化等。

关于 IIS 的内存占用过大,这里就只能优化程序了,某些算法的升级,请求次数的减少都可以帮助优化 IIS 所占用的内存。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136379.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计816字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中