DBCC ShrinkDatabase()
DBCC ShrinkFile()
  1. 我需要运行两个DBCC命令以缩小数据库吗?
  2. 上面这两个之间有什么区别?
有帮助吗?

解决方案

简单地...

  • DBCC ShrinkDatabase(): :收缩所有文件
  • DBCC ShrinkFile(): :只有一个文件

例如,您可能有一个日志备份问题,并且已经失控了,因此您可以运行 DBCC ShrinkFile().

几乎 永不使用 ShrinkDatabase.

在考虑使用任何一个命令之前,请阅读 保罗·兰达尔(Paul Randal)关于缩水的博客.

除非有明确的原因,否则我都不会收缩一个文件(MDF,LDF)。这些文件是因为它们需要的大小。任何建议这样做的博客可能是常规维护的一部分,可能不了解SQL Server的工作原理。

其他提示

默认数据库有两个文件

mydb.mdf和mydb.ldf

MDF文件是主要分区所在的数据文件。根据您的需求,您可以将数据库划分为多个文件。这样做是为了使数据(单个或多个表)可以跨越通常放在单独的硬盘驱动器上以实现更高性能的多个文件。

如果收缩数据库,与该数据库关联的所有文件都将缩小。

如果您收缩文件,则只有所选的文件会缩小。

您只需要使用收缩数据库命令即可。但是,这样做通常不是一个好习惯,也不是推荐的做法。

如果您告诉我们您正在遇到的问题,我们可以为您提供有关如何解决它的更多信息。

我们很可能只使用DBCC收缩。 sp_helpdb'databasename'在数据库中提供了数据和日志文件列表。

右键单击MNAgement Studio,任务 - >缩小 - >文件提供您可以收缩多少%。

无论我们收缩什么,它都可以在磁盘上作为自由空间。

例如:使用'databasename'dbcc shrinkfile(文件ID,100)

这里100是100 MB

FileID可以从sp_helpdb'databasename'获得

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top