• 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

  • 相关阅读:
    Spring MVC
    Hibernate的状态
    设计模式
    Git在Eclipse中的使用
    深入理解Node.js基于事件驱动的回调
    nodejs核心技术
    webpack使用
    vue各种实例集合
    vue之component
    axios详解
  • 原文地址:https://www.cnblogs.com/dotagg/p/6364452.html
Copyright © 2020-2023  润新知