SQL错误日志记录了数据库运行过程的遇到的各种问题及一些重要信息,作为排错需要,我们通常都不会主动去清理这些日志文件,只有每次重启服务器时,SQL会自动删除时间最老的日志文件,并新生成一个日志文件。
通过在服务器上查看数据库的日志文件,发现存在大量的query notification dialog的信息,而且出现的频率非常的高,导致日志文件增大非常快。
通过google了解到这个错误跟service broker的消息机制由关系,可以通过使用跟踪标记:DBCC TraceOn(4133,-1)可消除此信息。
不过现在的当务之急是如何清掉这些日志信息,最简单的办法就是到SQL的日志目录中删除这些日志文件即可,不过考虑到删除之前需要停止SQL Server服务,可能会导致缓存中的数据丢失,因此,这不是推荐的做法。
那么正确的做法应该怎样呢?
执行如下语句:
EXEC sp_cycle_errorlog;
每执行一次SQL会自动初始化一个日志文件,将日志的内容清空,当SQL有7个日志文件时(默认),请执行7次该操作,每次会将日志文件时间最老那个清空。
读者不必担心清空会消耗很长的时间,我这边的有个日志有40G,命令执行完后,该文件立即清空了。在时间紧急的情况,这种方式尤为方便。
那么有没有办法设置每个日志文件的固定大小呢?
查过这方面的资料,有人说可以在注册表中设置ErrorLogSizeInKb的大小,不过仅限于SQL2012,其他版本的数据库设置后不生效,这个我没有验证过,有兴趣的朋友可以一起讨论下。
数据库无日志报错恢复
造成原因,客户的SqlServer为2000版本,由于日志过大无人管理,没有空间了,然后客户分离数据库想删除日志(据说200G的日志=.=),然后显示分离出错,但是刷新后数据库却已经分离,删除日志后,数据库无法附加,经过在网上查询,总结出以下办法,幸好有用的表都没有损坏,只有统计表数据损坏,不过没关系反正作业会重置这些表的.
--确保企业管理器没有打开任何数据库
--设置数据库紧急状态
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
--设置数据库为紧急模式
update sysdatabases set status=-32768 where dbid=DB_ID('Procurement')
--重建数据库日志文件
dbcc rebuild_log('Procurement','D:\Procurement_log.ldf')
--验证数据库一致性(可省略)
dbcc checkdb('Procurement')
--设置数据库为正常状态
sp_dboption 'Procurement','dbo use only','false'
--最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复
sp_configure 'allow updates',0
go
reconfigure with override
go
现在你的数据库就允许连接了,现在可以查看一下每个表的数据是否有问题,如果有问题,只能找专业的数据回复了。
通过在服务器上查看数据库的日志文件,发现存在大量的query notification dialog的信息,而且出现的频率非常的高,导致日志文件增大非常快。
通过google了解到这个错误跟service broker的消息机制由关系,可以通过使用跟踪标记:DBCC TraceOn(4133,-1)可消除此信息。
不过现在的当务之急是如何清掉这些日志信息,最简单的办法就是到SQL的日志目录中删除这些日志文件即可,不过考虑到删除之前需要停止SQL Server服务,可能会导致缓存中的数据丢失,因此,这不是推荐的做法。
那么正确的做法应该怎样呢?
执行如下语句:
EXEC sp_cycle_errorlog;
每执行一次SQL会自动初始化一个日志文件,将日志的内容清空,当SQL有7个日志文件时(默认),请执行7次该操作,每次会将日志文件时间最老那个清空。
读者不必担心清空会消耗很长的时间,我这边的有个日志有40G,命令执行完后,该文件立即清空了。在时间紧急的情况,这种方式尤为方便。
那么有没有办法设置每个日志文件的固定大小呢?
查过这方面的资料,有人说可以在注册表中设置ErrorLogSizeInKb的大小,不过仅限于SQL2012,其他版本的数据库设置后不生效,这个我没有验证过,有兴趣的朋友可以一起讨论下。
数据库无日志报错恢复
造成原因,客户的SqlServer为2000版本,由于日志过大无人管理,没有空间了,然后客户分离数据库想删除日志(据说200G的日志=.=),然后显示分离出错,但是刷新后数据库却已经分离,删除日志后,数据库无法附加,经过在网上查询,总结出以下办法,幸好有用的表都没有损坏,只有统计表数据损坏,不过没关系反正作业会重置这些表的.
--确保企业管理器没有打开任何数据库
--设置数据库紧急状态
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
--设置数据库为紧急模式
update sysdatabases set status=-32768 where dbid=DB_ID('Procurement')
--重建数据库日志文件
dbcc rebuild_log('Procurement','D:\Procurement_log.ldf')
--验证数据库一致性(可省略)
dbcc checkdb('Procurement')
--设置数据库为正常状态
sp_dboption 'Procurement','dbo use only','false'
--最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复
sp_configure 'allow updates',0
go
reconfigure with override
go
现在你的数据库就允许连接了,现在可以查看一下每个表的数据是否有问题,如果有问题,只能找专业的数据回复了。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]