• SQL Server压缩数据库文件


    当mdf或者ndf文件很大时,传统的dbcc shrinkfile命令很难生效,目前可行的解决方案:

    1. 创建新文件组通过对剩余表重建并指定聚集索引到新文件组方式清空源文件组方式进行存储空间释放
    2. 参照使用以下脚本写循环等待文件收缩完成:

    大数据文件收缩

    DECLARE @BeginSize       BIGINT                                 --原始大小MB

    DECLARE @EndSize BIGINT                                 --最终大小MB

    DECLARE @ShrinkSize BIGINT                             --需要收缩的大小MB

    DECLARE @UnitSize INT                                        --每次收缩的大小MB

    DECLARE @Loop                INT                     --循环次数

    DECLARE @FileName       VARCHAR(256)                  --收缩的文件逻辑名称

     

    SET @UnitSize = 512

    SET @BeginSize = 239493

    SET @EndSize = 164413

    SET @ShrinkSize = @BeginSize - @EndSize

    SET    @FileName = N'需要收缩的数据文件逻辑名称'

    SET @Loop = 1

     

    WHILE       @ShrinkSize > @Loop * @UnitSize

    BEGIN

     

    SET @EndSize = @BeginSize - @Loop * @UnitSize

    PRINT 'DBCC SHRINKFILE (' + CAST(@FileName AS VARCHAR) + ',' + CAST(@EndSize AS VARCHAR) + ') BEGING DATETIME:' + CAST(GETDATE() AS VARCHAR)

    DBCC SHRINKFILE (@FileName, @EndSize)

    PRINT 'DBCC SHRINKFILE (' + CAST(@FileName AS VARCHAR) + ',' + CAST(@EndSize AS VARCHAR) + ') END DATETIME:' +CAST(GETDATE() AS VARCHAR)

    SET @Loop = @Loop + 1

     

    END

  • 相关阅读:
    Centos7安装Python3
    mysql+centos7+主从复制
    Python开发之virtualenv和virtualenvwrapper详解
    Linux基础系统优化(二)
    Linux基础系统优化(一)
    Windows 10版本区别
    HTML5常用的语义化标签
    关于efk多服务器多日志合并收集
    离线状态安装docker容器
    Docker部署jenkins+sonar+gitlab代码检测系统
  • 原文地址:https://www.cnblogs.com/dotagg/p/6364452.html
Copyright © 2020-2023  润新知