昨天老板微信 Call 我说百威9000V6的后台无法操作、退出后无法登录,提示:
“数据处理错误,错误信息为:数据库'bw9kbzpro_01'的事务日志已满。若要查明无法重用日志中的空间的原因。请参阅
sys.databases 中的 log_reuse_wait_desc 列。”
让他打开资源管理器看看,D盘已经红了,进入存放数据库的文件夹一看,数据库「bw9kbzpro_01」的日志文件足足有77GB那么大!
图 1
按照平时的使用情况,日志文件的大小不应该那么夸张,可能是上次让客服远程修复数据库时留下的后遗症。既然日志满了,清理一下就行了,这种小事就不花100大洋这种冤大头的钱了。
首先 把附件中的「清理LDF.sql」文件解压出来放在好找的地方(比如桌面或者分区的根目录)备用;
以防万一,把要清理日志的数据库文件(.mdf)和日志文件(.LDF)复制一份到其它分区做个备份,这里需要备份的是「bw9kbzpro_01_Data.mdf」和「bw9kbzpro_01_log.LDF」。
然后在「开始菜单」-「所有程序」中找到并点击 「SQL Server Management
Studio」
图 2 从「开始菜单」中打开「SQL Server
Management Studio」
在
SQL Server Management Studio
窗口左侧的「对象资源管理器」展开「数据库」,找到和前面错误提示中同名的数据库,这里是「bw9kbzpro_01」
图 3
鼠标右击「bw9kbzpro_01」,选择「新建查询」
图 4
点击「工具栏」上的「打开文件」按钮(黄色文件夹图标)
图 5
在「打开文件」对话框中找到并双击刚才解压出来的「清理LDF.sql」文件。
图 6
按照下面
图7中箭头标识的地方,把查询语句中的「数据库名」全部替换为需要清理日志的数据库的名称「bw9kbzpro_01」,「日志文件名」替换为「bw9kbzpro_01_log」(日志文件名默认都是对应的数据库名加上
_log
后缀)效果见图8。
图 7
图 8
然后按键盘上的
F5 键执行命令,
图 9 命令执行成功
再返回存放数据库文件的文件夹看一下,日志文件已经变成1MB了。
图 10
讲完。