数据库文件.mdf太大的解决方法

2025-09-25 17:08:18

1、首先我们要清楚问题的原因之处;

第一步:打开sql server数据库,数据库右键——属性——文件,在这个文件栏打开之后,我们会看到主数据文件和日志文件的初始大小和增长大小,如果日志文件太多,我们首先要考虑处理日志文件。

数据库文件.mdf太大的解决方法

2、对数据库事务日志已满的处理方法:

USE [master]

GO

ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE

GO

USE 数据库名称

GO

DBCC SHRINKFILE (N'数据库名称_log' , 11, TRUNCATEONLY)

GO

数据库文件.mdf太大的解决方法

3、数据日志处理完之后,如果是日志的问题的话,这个时候磁盘的存储空间会多出来很多,如果不是这个问题的话,我们还要去查看数据库中每个表数据大小,看看是否是数据量很大这个原因导致的。

数据库文件.mdf太大的解决方法

4、IF OBJECT_ID('tempdb..#TablesSizes') IS NOT NULL

    DROP TABLE #TablesSizes

CREATE TABLE #TablesSizes

    (

      TableName sysname ,

      Rows BIGINT ,

      reserved VARCHAR(100) ,

      data VARCHAR(100) ,

      index_size VARCHAR(100) ,

      unused VARCHAR(100)

    )

DECLARE @sql VARCHAR(MAX)

SELECT  @sql = COALESCE(@sql, '') + '

INSERT INTO #TablesSizes execute sp_spaceused ''' + QUOTENAME(TABLE_SCHEMA,

                                                              '[]') + '.'

        + QUOTENAME(Table_Name, '[]') + ''''

FROM    INFORMATION_SCHEMA.TABLES

WHERE   TABLE_TYPE = 'BASE TABLE'

PRINT ( @SQL )

EXECUTE (@SQL)

SELECT  *

FROM    #TablesSizes

ORDER BY Rows DESC

数据库文件.mdf太大的解决方法

5、当这些配置好了之后,我们发现确实是数据原因,这个时候,我们就要适当的去删除数据量比较大的表格了,删除完了之后,我们就要对表格进行压缩了。将磁盘的可用空间释放出来。

数据库文件.mdf太大的解决方法

6、数据库右键——任务——压缩——数据库,来到上面的压缩数据库文件,这个时候我们要选择压缩的百分比了,设置好百分比之后,我们就开始执行,这个过程可能比较漫长,毕竟是对磁盘的一次重新组合,所以敬请等待,最终你会看到磁盘会空出很多可用空间。

数据库文件.mdf太大的解决方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢