手机版

删除sqlserver数据库日志文件和附加不带日志文件的数据库解决方案

时间:2021-08-01 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库类大小:594KB语言:中文评分:7.7标签:立即下载并删除数据库日志文件

您是否曾经在执行SQL时报告事务日志已满,然后报告错误?然后我纠结了很久怎么删除数据库日志。现在我提供两种删除日志文件的方法,希望对大家有所帮助!

方法1:手动操作

1.数据库-右键单击-属性-选项-恢复模式-从完整切换到简单

2.数据库-右键单击-任务-收缩-文件-从完整切换到简单-文件类型-日志-将文件收缩到

方法2:存储过程代替手动操作

-多少mdeclare @ dblogsisseintset @ dblogssise=0发现数据库对应的日志文件名为DECLARE @ strdbnameansvarchar(500)DECLARE @ strlognameansvarchar(500)DECLARE @ strSQLASVARCHAR(1000)SELECT @ strLogName=b . name,@ strdbname=a . name from master . sys . database ainer join sys . master _ filesa bona . database _ id=b . database _ idwhere rea . database。-还原数据库还原模式,以完成alter database[' @ strdbname ']setrecoveryfull ' exec(@ strsql)

1.在数据库中执行上述存储过程

2.然后执行execdbo。USP _ p _ deldblog @ dblogssie=0(收缩多少m)

回到顶端

示例存储过程下载

usp_p_delDBLog.sql

附加不带日志文件的数据库方法

今天,客户在执行SQL时报告了一个错误。经检查,客户服务器的数据库磁盘已全部用完,日志文件已达到500GB级别。后来,由于我的错误操作,日志文件(。ldf)已被删除。后来的依恋。mdf文件总说没有日志文件,但经过一番折腾终于解决了。跟大家分享一下。

操作程序

1.创建一个同名的新数据库文件

2.暂停SQLSetver服务

3.将原始mdf文件覆盖到新数据库,并删除新数据库的ldf文件

4.请重新启动SQLSetver服务。此时,您看到的数据库是这样的,无法打开

5.执行以下SQL语句

1-1.设置为紧急状态2替代数据库名称setemergency3 - 2 2。设置为单用户模式4alterdatabase名称设置single _ user 5-3。检查并重建日志文件6dbcccheckdb('数据库名',Repair _ allow _ data _ loss) 7-4。步骤3如果出现错误提示,请运行步骤4。如果没有错误,跳过8dbcccheckdb('数据库名',repair _ rebuild) 9-5。恢复到多用户模式10alterdatabase数据库名称setmulti_user

6.此时,库修改的日志文件将重新生成,整个过程完成

也可以使用手动附件(此方法请参考@代码跟踪工程)

版权声明:删除sqlserver数据库日志文件和附加不带日志文件的数据库解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。