zoukankan      html  css  js  c++  java
  • SqlServer压缩数据库日志

    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

  • 相关阅读:
    spring boot中 使用http请求
    spring boot 多层级mapper
    spring boot 使用拦截器,注解 实现 权限过滤
    spring boot 集成mybatis报错
    spring boot 使用拦截器 实现 用户登录拦截
    mac eclipse 删除不用的workspace
    maven+eclipse+mac+tomcat 多模块发布
    启动spring boot 异常
    安装 redis [standlone模式]
    quartz项目中的运用
  • 原文地址:https://www.cnblogs.com/himmy/p/9927996.html
Copyright © 2011-2022 走看看