繁体   English   中英

什么正在使用我在SQL Server中的所有存储

[英]What is using all my storage in SQL server

我有一个SQL Server数据库,根据Properties => files,在主文件组中使用47GB的磁盘空间。

我99%确信我的数据库不是那么大。

我从这篇文章中运行查询https://www.mssqltips.com/sqlservertip/1177/determining-space-used-for-all-tables-in-a-sql-server-database/

并据此我的保留空间只有1 GB,那么我的数据库怎么可能使用那么多的空间?

我缩小了日志文件,但是如上所述,它是该大小的主文件

在此处输入图片说明

根据我的评论: 数据库文件增长时,它不会释放空间; 最有可能在某个时候达到了47GB,也许是在您进行大负载并且您删除了数据之后? 不释放空间是有意的,实际上,除非知道自己在做什么,否则缩小数据库是一个危险的失败之路。 因为它很容易导致索引碎片等问题。

您可以使用sys.sp_spaceused;对象sys.sp_spaceused;有多少空间和未使用的空间sys.sp_spaceused; 这将详细说明unallocated space列中的可用空间量。

如上所述,除非确实需要,否则不建议您收缩数据库。 在收缩过程中很可能会发生碎片; 这可能会对数据库性能产生(重大)影响。

数据库由保留空间组成,其中一部分将是可用空间。 随着数据库的增长,可用空间会变小,直到触发自动增长。 自动增长的增量设置为值或百分比。 最初创建数据库时,可能会设置初始值为47023。 您可以将可用空间释放回操作系统,但是您需要收缩数据文件(而非日志文件),而只是要了解数据库的增长方式以及这些自动增长的频率,因为这可能会导致性能下降。这样做的妥协。

您可能会发现运行两个内置的SSRS报告非常有用。 为此(在SQL Server Management Studio中),右键单击数据库名称,然后向下选择十个选项卡,将其标记为“报告”。 单击它,然后尝试“ Disk Usager”报告和“ Top Tables磁盘使用情况”报告。 它们是非常清晰的报告,您可能会对某些表有多大感到惊讶。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM