一般有如下方法:
1. 分离数据库,删除日志文件,再附加。
也可以用命令:
A.exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息
B.删除该日志文件或者将该日志文件移出该目录
C.exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
尽可能不用这个方法。
2. 使用如下命令:
Use 数据库名
DBCC SHRINKDATABASE(数据库名)
一次收缩数据库和日志。
http://support.microsoft.com/kb/272318/
3. 使用如下命令:
Use 数据库名
DBCC SHRINKFILE(1) --收缩数据库
DBCC SHRINKFILE(2) --收缩日志
似乎只是压缩了日志文件,处理后的文件虽然明显减小,但还不是最小的。
4. 使用如下一组命令:
Use 数据库名
DUMP TRANSACTION 数据库名 WITH NO_LOG --清空日志
BACKUP LOG 数据库名 WITH NO_LOG --截断日志
DBCC SHRINKFILE(2) --收缩日志,2表示日志文件,1表示数据库文件
或者DBCC SHRINKDATABASE(数据库名) --收缩数据库和日志
日志文件被置最小。
1. 分离数据库,删除日志文件,再附加。
也可以用命令:
A.exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息
B.删除该日志文件或者将该日志文件移出该目录
C.exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
尽可能不用这个方法。
2. 使用如下命令:
Use 数据库名
DBCC SHRINKDATABASE(数据库名)
一次收缩数据库和日志。
http://support.microsoft.com/kb/272318/
3. 使用如下命令:
Use 数据库名
DBCC SHRINKFILE(1) --收缩数据库
DBCC SHRINKFILE(2) --收缩日志
似乎只是压缩了日志文件,处理后的文件虽然明显减小,但还不是最小的。
4. 使用如下一组命令:
Use 数据库名
DUMP TRANSACTION 数据库名 WITH NO_LOG --清空日志
BACKUP LOG 数据库名 WITH NO_LOG --截断日志
DBCC SHRINKFILE(2) --收缩日志,2表示日志文件,1表示数据库文件
或者DBCC SHRINKDATABASE(数据库名) --收缩数据库和日志
日志文件被置最小。