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

  • 相关阅读:
    团队第三次作业-王者终篇
    第二次团队任务之个人
    团队作业总和
    本次分工
    【软件工程】第一次作业
    面向对象第三次作业(向计算器进发)
    面向对象程序设计第二次作业(1)
    面向对象程序设计第二次作业(2)
    我的大一上(福州)
    第一周例行报告
  • 原文地址:https://www.cnblogs.com/himmy/p/9927996.html
Copyright © 2011-2022 走看看