Dav*_*rel 2 sql-server ssms t-sql
我的一个数据库每天都在增长几场演出。这是非常不寻常的,因为它仍处于开发阶段。经过小的研究,我发现偶数日志表几乎是数据库的大小(100GB),所以我清除了它。我运行了一个脚本来检查这个数据库中的表大小,一切都恢复正常。也就是说,没有可笑的胖桌子。然而,尽管有问题的表的饮食,数据库的总体大小并没有改变。
有什么建议?
顺便说一句,我正在使用 SQL SERVER 2012
谢谢,大卫
SQL Server 文件本质上是保存数据的容器,就像存储桶一样。当然,这个存储桶会增长以容纳其中的数据。但是,一旦它增长,它将保持该大小,除非您缩小文件本身,即使您清空数据。像这样:

您可以使用以下查询(从Glenn Berry 的 DMV 脚本借用)查看数据库文件中有多少空间是空的:
SELECT f.name AS [File Name]
, f.physical_name AS [Physical Name]
, CAST((f.size/128.0) AS decimal(15,2)) AS [Total Size in MB]
, CAST(f.size/128.0 - CAST(FILEPROPERTY(f.name, 'SpaceUsed') AS int)/128.0 AS decimal(15,2)) AS [Available Space In MB]
, [file_id]
, fg.name AS [Filegroup Name]
FROM sys.database_files AS f WITH (NOLOCK)
LEFT OUTER JOIN sys.data_spaces AS fg WITH (NOLOCK)
ON f.data_space_id = fg.data_space_id OPTION (RECOMPILE);
Run Code Online (Sandbox Code Playgroud)
要减小文件大小,您需要使用DBCC SHRINKFILE命令来实际减小文件大小。但是,请记住以下注意事项:
| 归档时间: |
|
| 查看次数: |
2996 次 |
| 最近记录: |