磁盘被sqlserver日志文件占满如何处理
因为磁盘已经被占满,使用分离附加方法也失败,故只能直接从磁盘中删除ldf文件。
接下来的问题是,如何在没有ldf文件的情况下恢复数据库mdf文件呢
如图所示,新建数据库TestLDF,生成mdf和ldf文件
现在模拟删除ldf文件,点击继续,弹出文件正在使用,停止sqlserver服务再次删除ldf文件,删除成功
启动sqlserver服务,再次查看数据库,发现原数据库显示“恢复挂起”状态了
顺序执行以下sql语句
alter database TestLDF set emergency;--数据库状态变为紧急 alter database TestLDF set single_user with rollback immediate;--数据库状态变为单个用户 alter database TestLDF rebuild log on (name=TestLDF_log, filename='D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER2016\MSSQL\DATA\TestLDF_log.ldf');--若发生执行失败“文件不可操作等,代号为5”可重启sqlserver服务重新执行这4句 alter database TestLDF set multi_user with rollback immediate;--数据库状态变为正常
数据库ldf文件重新创建