我不知道您有没有试过,我自己用的是MSSQL 7.0,有个数据库 (库名为slot)也有类似的问题出现,就是日志文件占用空间太大。我用了你的方法,详细步骤如下:
以下步骤都是 use slot
1. DUMP TRANSACTION slot WITH NO_LOG
2.BACKUP LOG slot WITH NO_LOG
3.select fileid ,groupid,name from sysfiles where groupid=0;
fileid groupid name
-----------------------------------------
2 0 slot_Log
得出日志文件的ID
3.DBCC SHRINKFILE(2)
4.EXEC sp_detach_db @dbname = 'slot'
第四个步骤出问题了,报告提示"database slot is in use",我就认为可能是slot这个数据库在使用不能所以不能分离。于是我转到master库去执行这个SQL语句
use master
go
EXEC sp_detach_db @dbname = 'slot'
结果还是提示这个错误:database slot is in use。不能执行该语句。
请问有没有人执行成功的?我用的是MSSQL 7.0,在企业管理器里右击并没有“分离数据库”这个功能,只能在查询分析器里执行。但是又不可能停掉整个SQL server,因为这样查询分析器就无法连接到Server。而我确定slot这个数据库是没有在进行数据库操作的,不知道为什么会有"database slot is in use"这个错误提示??