码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer压缩数据库日志

时间:2018-11-08 11:37:03      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:其它   sql   weight   必须   系统   指定   --   str   cat   

declare @dbName varchar(20)--数据库名称
declare @dbNamelog varchar(20)--数据库日志文件名称

--替换成自己的文件名称
select @dbName=dbname
select @dbNamelog=dbname_log


declare @sql nvarchar(2000)

set @sql=

USE +@dbName+

ALTER DATABASE +@dbName+ SET RECOVERY SIMPLE WITH NO_WAIT

ALTER DATABASE +@dbName+ SET RECOVERY SIMPLE

USE +@dbName+

DBCC SHRINKFILE (N‘‘‘+@dbNamelog+‘‘‘ , 11, TRUNCATEONLY)

USE +@dbName+

ALTER DATABASE +@dbName+ SET RECOVERY FULL WITH NO_WAIT

ALTER DATABASE +@dbName+ SET RECOVERY FULL



SELECT file_id, name FROM sys.database_files

exec(@sql)

主要语法如下:

DBCC SHRINKFILE
    file_name | file_id }
        { [ ,target_size ]
            | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ] 
        }
    )

参数

file_name

是已收缩文件的逻辑名称。文件名必须符合标识符的规则。

file_id

是要收缩的文件的标识 (ID) 号。若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles

target_size

是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,DBCC SHRINKFILE 将文件大小减少到默认文件大小。

EMPTYFILE

将所有数据从指定文件中迁移到同一文件组中的其它文件

NOTRUNCATE

导致将释放的文件空间保留在文件中。

TRUNCATEONLY

导致文件中的任何未使用的空间释放给操作系统,并将文件收缩到上一次分配的大小,从而减少文件大小,而不移动任何数据。不尝试将行重新定位到未分配页。如果使用 TRUNCATEONLY,将忽略 target_size

 

转至:https://www.cnblogs.com/wangqiang3311/p/7687073.html

SqlServer压缩数据库日志

标签:其它   sql   weight   必须   系统   指定   --   str   cat   

原文地址:https://www.cnblogs.com/himmy/p/9927996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!