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

  • 相关阅读:
    kubernetes 节点数据彻底清理脚本
    多es 集群数据迁移方案
    .Net Framework各版本微软技术支持及到期日期
    etcd raft 处理流程图系列3-wal的读写
    etcd raft 处理流程图系列2-transport
    etcd raft 处理流程图系列1-raftexample
    一种分布式预写日志系统
    自适应软件缓存管理
    require/import路径中的叹号是什么?
    理解原型链
  • 原文地址:https://www.cnblogs.com/dotagg/p/6364452.html
Copyright © 2011-2022 走看看