SQL 2005 数据库日志文件过大,清理日志 分离数据库,然后执行语句 exec sp_attach_single_file_db '数据库名称', '数据库路径' 附上其他参考方法: 1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩 至 XXM,这里会给出一个允许收缩到的最小 M 数,直接输入这个数,确定就可以了。 清除 Log 有两种方法: 1.自动清除法 开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除 Log。此方法的优点是无须人工干预,由 SQL Server 自动执行,并且一般不会出现 Log 溢满的情况;缺点是只清除 Log 而不做备份。 2.手动清除法 执行命令“dump transaction”来清除 Log。以下两条命令都可以清除日志: dump transaction with truncate_only dump transaction with no_log 通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时, 还要做必要的并发性检查。SYBASE 提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很 大的危险性,SQL Server 会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。 以上两种方法只??清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to du mpdev ice”命令。 PS:附一个更好的方法 先分离数据库后,直接删除日志以后,再在查询分析器里用 ex ec sp_attach_single_file_db '数据库名', '.mdf 文件路径' 命令附加数据库。 OVER.在别的地方看到的 不错。 数据库日志操作 先提供一种复杂的方法压缩日志及数据库文件如下: 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至 XXM,这里会给出一个允许收缩到的最小M 数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至 XXM,这里会给出一个允许收缩到的最小M 数,直接输入这个数,确定就可以了 也可以用 SQL 语句来完成 --收缩数据库 DBCC ...