zoukankan      html  css  js  c++  java
  • 【转】查询数据库各表当前使用的存储大小,并收缩空间,释放可用空间

    引自:https://www.cnblogs.com/cinemaparadiso/p/12581644.html

    USE [JwsoftBsFrame_WeiXin] -- replace your dbname
    GO
    SELECT
    s.Name AS SchemaName,
    t.Name AS TableName,
    p.rows AS RowCounts,
    CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Used_MB,
    CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS Unused_MB,
    CAST(ROUND((SUM(a.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Total_MB
    FROM sys.tables t
    INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
    INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
    INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
    INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
    GROUP BY t.Name, s.Name, p.Rows
    ORDER BY s.Name, t.Name
    GO

    根据以上语句可以查看某数据库的每张表占的存储大小,根据需要对用不到的数据进行清理。

    比如 tableA占用 2000MB,可以truncate table此表数据,此时数据库会将此表占用的空间释放成 可用空间。

    右键数据库 属性->选项->恢复模式  改为简单。

    右键数据库 任务->收缩->文件 ,根据需要收缩数据释放可用空间或收缩日志文件

     选择"在释放未使用的空间前重新组织页(0)",根据右侧的提示(最小未1052MB)  设置收缩后的大小,必须大于提示中的最小大小。

     收缩完成后,右键数据库 属性->选项->恢复模式  改为完整 

  • 相关阅读:
    去除网页图片缝隙
    只有定位的盒子有z-index
    clearfix
    2018CSS特效集锦牛逼
    c#spinLock使用
    redis 五种数据结构详解(string,list,set,zset,hash)
    C# StackExchange.Redis 用法总结
    Markdown 编辑器
    C# Task任务详解及其使用方式
    MongoDB学习笔记——MongoDB 连接配置
  • 原文地址:https://www.cnblogs.com/Violety/p/15777735.html
Copyright © 2011-2022 走看看