我有一个几乎快满的数据库,我们可以选择一些方法来解决这个问题:
在选择第一个选项之前,我想知道如何检查数据库的大小以及其中实际有多少数据,以便可以缩小数据库以获取一些可用空间。
因此,请使用以下查询查看您的未使用空间在哪里,什么文件有多大...。
Use DatabaseName
GO
Select name AS [FileName]
, size/128.0 AS [FileSize(MB)]
, fileproperty(name, 'SpaceUsed')/128.0 AS [Space_Used(MB)]
, (size - fileproperty(name, 'SpaceUsed')) /128.0 AS [FreeSpace(MB)]
From dbo.sysfiles
GO
最后,当您决定使用大量可用空间来缩小文件时,可以使用DBCCrinkfile命令来执行此操作。
USE DatabaseName
GO
DBCC SHRINKFILE ('FileName', 10) --<-- will shrink it to 10 MB
GO
笔记
如果BLOB数据类型(文本,ntext,xml等)列占用了任何未使用的空间,那么除非再次删除并重新创建表,否则您可能无法索回该未使用的空间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句