zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    P2426 删数
    P2115 [USACO14MAR]破坏Sabotage
    P2679 子串
    P2979 [USACO10JAN]奶酪塔Cheese Towers
    P1114 “非常男女”计划
    P2105 K皇后
    P4053 [JSOI2007]建筑抢修
    P1294 高手去散步
    P4316 绿豆蛙的归宿
    P2253 好一个一中腰鼓!
  • 原文地址:https://www.cnblogs.com/dotagg/p/6364452.html
Copyright © 2011-2022 走看看