sql sqlserver 抛出异常日志增大异常

配置了Alwayson之后,因为没有只能使用完全恢复模式,不能使用简单或大容量日志模式,所以日志不断增长,不能使用改变恢复模式的方式清空日志
手动操作收缩或截断日志也无效
读了一些文章后发现,有人使用
主要实例脱离可用性组 - 修改为简单恢复模式 -修改回完整恢复模式 - 完整备份 - 加回可用性组 -将辅助副本还原(注意是With NoRECOVERY) - 重启同步
这样虽然可行,但也太麻烦了,对于俺们每天增长70GB的日志文件来说,操作未免太频繁了
也许是我对SQL Server太不熟悉了,其实只要在&备份首选项&(可用性组,右键,属性,)指定的数据库实例上&备份事务日志&即可将事务日志备份并截断
对于事务日志增长频繁的数据库只要建立一个维护计划,定期备份事务日志即可,可以是几分钟到一个小时
为什么完整备份不能截断事务日志&
嗯,全量备份一次后,使用事务日志备份Log文件不会变小,但里面的内容会变少可以用
SELECT&name, data_space_id 文件组id,&size/128 [文件大小(兆)],
&&&&FILEPROPERTY(name,&'SpaceUsed')/128 [已用空间(兆)],
&&&&size/128 - FILEPROPERTY(name,&'SpaceUsed')/128 [未用空间(兆)],
&&&&FILEPROPERTY(name,&'SpaceUsed')*100.0/size&[使用率(%)],
&&&&max_size/128 [最大值(兆)], growth 增长值, is_percent_growth 是否百分比增长, physical_name 物理路径
FROM&sys.database_files a&ORDER&BY&[使用率(%)]&DESC
来查看收缩日志文件后日志文件大小变会变小,但是如无必要,不建议
阅读(...) 评论()博客访问: 6314496
博文数量: 921
注册时间:
认证徽章:
oracle 10g ocm
oracle 10g/11g/12c ocp aix 6.1 administrator,ogg expert,ITSS
技术交流群
微信公众号 paulyibin 探讨技术,开心工作
,深入研究数据库和开始研究big data
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: SQL Server
& & sqlserver 事务日志过大,可能会导致备份失败或者数据库出现异常,所以要定期清除sqlserver 事务日志
建议:为了防止日志文件无限扩大,可以对日志文件作一些限制。
清除sqlserver事务日志有以下两种方法:
方法是:数据库上右键点"属性",点&
"事务日志",里面设置,将文件增长限制为xxxxMB&
以下是2种方法的具体操作过程
第一:收缩数据库方法&
1、备份数据库&
对应数据库名称后缀mdf与ldf的文件
2、在需要收缩日志文件大小的数据库上点"属性",再点"选项",将故障还原里的"完全"改为"简单"
3、选择数据库名称点右键,"所有任务"中的"收缩数据库"
4、点右下角的"文件",进入后,在右上角选数据库文件为"xxxx_log",表示,准备收缩日志文件
5、输入10M,点确定,可以直接查看物理路径中相应log文件,是不是只有10M大小。
6、然后,重新回到第二步,将"简单"改为"完全"。
第二:分离与附件数据库的方法
阅读(12572) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。SQL 数据库文件超级大而且增长速度过快的解决办法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SQL 数据库文件超级大而且增长速度过快的解决办法
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢SQL Server 压缩日志与减少SQL Server 文件大小的方法
转载 & & 投稿:mdxy-dxy
这篇文章主要为大家描述的是实现SQL Server 压缩日志与SQL Server 文件大小的实际操作步骤,在此实际操作中我们要按步骤一步一步的进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库
一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。
  1.清空日志
  DUMP TRANSACTION 库名 WITH NO_LOG
  2.截断事务日志
  BACKUP LOG 数据库名 WITH NO_LOG
  3.收缩数据库文件
  (如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了,也可以用SQL语句来完成
  收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  收缩指定数据文件,1是文件号,可以通过这个语句查询到:
  select&*&from&sysfiles&&
  DBCC SHRINKFILE(1)4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
  分离数据库:
  企业管理器--服务器--数据库--右键--分离数据库
  在我的电脑中删除LOG文件
  附加数据库:
  企业管理器--服务器--数据库--右键--附加数据库
  此法将生成新的LOG,大小只有500多K
  或用代码:
  下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
  EXEC&sp_detach_db&@dbname&=&'pubs'
  删除日志文件
  再附加
  EXEC&sp_attach_single_file_db&@dbname&=&'pubs',& &
  @physname&=&'c:\Program&Files\Microsoft& &
  SQL&Server\MSSQL\Data\pubs.mdf'&
  4.为了以后能自动收缩,做如下设置
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  SQL语句设置方式:
  EXEC&sp_dboption&'数据库名',& &
  'autoshrink',&'TRUE'&
  5.如果想以后不让它日志增长得太大
  企业管理器--服务器--右键数据库--属性--事务日志
  将文件增长限制为xM(x是你允许的最大数据SQL Server 文件大小)
  SQL语句的设置方式:
  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
这里脚本之家小编为大家分享个我自己经常使用的方法:
DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])
jb51就是数据库名称。
  以上的相关内容就是对SQL Server 压缩日志及数据库文件大小的介绍,望你能有所收获。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 sql server 捕获异常 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信