• sqlserver数据库中的mdf文件太大,表空间分析和表空间释放


    查询数据库的大小:

    EXEC sp_spaceused

    为了保证查询结果的实时性,推荐使用 @updateusage 参数来确保统计数据是最新的:

    EXEC sp_spaceused @updateusage = N'TRUE';

    具体查询某个表的大小:

    EXEC sp_spaceused 't_table'

    分析查询数据库中所有表占用的内存大小:

    declare @table_spaceused table (
    name nvarchar(100) ,
    rows int ,reserved nvarchar(100) ,
    data nvarchar(100) ,index_size nvarchar(100) ,
    unused nvarchar(100) )
    insert into @table_spaceused (name,rows,reserved,data,index_size,unused ) exec sp_MSforeachtable @command1='exec sp_spaceused ''?'''
    select * from @table_spaceused

    字段含义:

    • name:表名
    • rows:行数
    • reserved:数据库为该表分配的空间
    • data:数据实际使用的空间,reserved肯定>=data
    • index_size:索引使用的空间
    • unused:为数据库中的对象保留但尚未使用的空间总量,大致等于reserved - data - index_size的值

    然后根据表中的业务选择性删除无用的数据,truncate table 表名来清空表中无用的数据。

    最后一步,使用数据库自带的收缩功能,来进行收缩数据库中mdf文件的大小。

    右键数据库—–>任务——->收缩———->数据库(或者文件)。

    我本地之前数据库30多个g的文件,后面压缩成了1个多g文件。

  • 相关阅读:
    nginx的rewrite指令
    springmvc上传图片《2》
    cors解决跨域
    java8的Streams
    vue基础篇---路由的实现《2》
    vue基础篇---vue组件《2》
    vue基础篇---watch监听
    ES6新特性
    ubuntu tftp 配置
    驱动程序分层分离概念--总线驱动设备模型
  • 原文地址:https://www.cnblogs.com/JackZhangcom/p/11971112.html
Copyright © 2020-2023  润新知