sql server收缩数据库和日志

收缩数据库:

DBCC SHRINKDATABASE(database)

SQL2008清空删除日志:

方法一:

USE [master]
GO
ALTER DATABASE database SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE database SET RECOVERY SIMPLE
GO
USE AFMS
GO
DBCC SHRINKFILE (N'database' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE database SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE database SET RECOVERY FULL
GO

 

‘在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

USE [master]
GO
ALTER DATABASE DBName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DBName SET RECOVERY SIMPLE --简单模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DBName_Log' , 11, TRUNCATEONLY)
GO

 

‘这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询

USE DNName
GO
SELECT file_id, nameFROM sys.database_files;
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO

SQL2005清空删除日志:

Backup Log DNName with no_log ‘这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。

go
dump transaction DNName with no_log
go
USE DNName
DBCC SHRINKFILE (2)
Go

sqlserver2000压缩日志

可以将jb51.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。

DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])

发表评论

邮箱地址不会被公开。 必填项已用*标注