/*-—特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
--*/
本人在SQL05中使用方法:
分离数据库,然后执行语句exec sp_attach_single_file_db ’数据库名称’, '数据库路径'
like exec sp_attach_single_file_db 'databasename','D:\data\’
附上其他参考方法:
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
—-右键你要压缩的数据库——所有任务——收缩数据库-—收缩文件—-选择日志文件—-在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
清除Log有两种方法:
开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。
执行命令“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 dumpdevice”命令.
PS:附一个更好的方法
先分离数据库后,直接删除日志以后,再在查询分析器里用
exec sp_attach_single_file_db ’数据库名', '.mdf文件路径’
命令附加数据库。 不错。
数据库日志操作
先提供一种复杂的方法压缩日志及数据库文件如下:
1。清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2。截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3。收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器—-右键你要压缩的数据库——所有任务--收缩数据库—-收缩文件
—-选择日志文件——在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
—-选择数据文件——在收缩方式里选择收
数据库清除日志文件 来自淘豆网www.taodocs.com转载请标明出处.