当前位置:Gxlcms > 数据库问题 > SqlServer压缩数据库日志

SqlServer压缩数据库日志

时间:2021-07-01 10:21:17 帮助过:12人阅读

@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   

人气教程排行