无意间发现数据库中并没有多少数据量,但数据库文件确占用了27个G左右,如图:

sql server  数据库mdf文件和log文件过大问题_解决方法

 

 sql server  数据库mdf文件和log文件过大问题_文件大小_02

 

 查询数据库X中各表记录条数:  

sql server  数据库mdf文件和log文件过大问题_数据_03sql server  数据库mdf文件和log文件过大问题_文件大小_04
SELECT a.name, b.rows FROM sys.sysobjects AS a
INNER JOIN sys.sysindexes AS b ON a.id = b.id
WHERE (b.indid IN (0, 1)) AND (a.type = 'u')
ORDER BY  b.rows DESC
View Code

 

 我删除了一万条人员后发现文件大小并没有发生改变。

 

 总结:

  sql server 已扩展的空间是不会主动释放的,需要手动进行文件或数据库的收缩

 

 解决方法:

  右击数据库  --->   任务  --->  收缩   --->   文件

sql server  数据库mdf文件和log文件过大问题_解决方法_05

 

  将文件收缩到 ?? 这里 直接给个很小的值,它会自动收缩到最小。

 

 效果图:

  sql server  数据库mdf文件和log文件过大问题_库文件_06