SqlServer收缩数据库日志
2011-11-14 17:57
176 查看
USE [master] GO -- 收缩数据库 DECLARE @dbname nvarchar(255) SET @dbname = '数据库名称' -- 1.截断事务日志 EXEC('BACKUP LOG ['+@dbname+'] WITH NO_LOG') -- 2.收缩数据库 EXEC('DBCC SHRINKDATABASE(['+@dbname+'], TRUNCATEONLY)') -- 3.设定自动收缩 EXEC('EXEC SP_DBOPTION '''+@dbname+''', ''autoshrink'', ''TRUE''') GO
DUMP TRANSACTION 和 BACK LOG 的区别:
DUMP TRANSACTION [数据库名称] WITH NO_LOG 是 sybase 的用法,SqlServer 的核心原来就是 sybase 的。因此 SqlServer 也能用 DUMP TRANSACTION。
BACK LOG [数据库名称] WITH NO_LOG 是 SqlServer 的用法。
DBCC SHRINKDATABASE 命令语法如下:(http://www.yesky.com/imagesnew/software/tsql/ts_dbcc_3pd1.htm)
DBCC SHRINKDATABASE (database_name
[, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各参数说明如下:
?target_percent 指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。
?NOTRUECATE 将数据库缩减后剩余的空间保留在数据库,中不返还给操作系统 。如果不选择此选项,则剩余的空间返还给操作系统。
?TRUNCATEONLY 将数据库缩减后剩余的空间返还给操作系统。使用此命令时SQL Server 将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent 选项就无效了。例6-14: 压缩数据库mytest 的未使用空间为数据库大小的20%。
相关文章推荐
- 收缩SqlServer 2008数据库日志
- SqlServer 数据库日志无法收缩处理过程
- 截断sqlserver 日志文件 收缩数据库文件
- SqlServer清除日志并收缩数据库
- sqlserver 2008收缩数据库日志
- SQLSERVER收缩数据库日志
- sqlserver 收缩数据库相关日志文件和数据文件
- SqlServer清除日志并收缩数据库
- sqlserver 收缩数据库日志
- SQLServer收缩数据库日志
- SqlServer清除日志并收缩数据库
- SQLServer收缩数据库日志
- SQLSERVER 数据库日志文件收缩
- SQLServer收缩日志及数据库文件
- 收缩并截断SQLSERVER服务器上所有数据库日志
- 收缩SqlServer 2008数据库日志
- SQLServer收缩日志及数据库文件【xiame】
- SQL2008R2 收缩数据库问题 - 日志文件不变小
- sqlserver 删除数据库日志
- SQL 2008 R2数据库变为REPLICATION,日志不断增长而且不能截断和收缩的解决方案