Sql server 收缩SQL Server数据库不工作

Sql server 收缩SQL Server数据库不工作,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,我不是DBA,但我需要收缩DB,我尝试使用SSMS接口进行收缩,但没有成功 统计数字如下: 大小:235013.00 MB 可用空间:65587.59 MB 我还尝试了DBCC SHRINKDATABASE。。。TRUNCATEONLY命令,也没有更改任何内容 如何在不丢失数据的情况下缩小此DB(将未使用的空间释放到操作系统) 在SSM中,尝试右键单击DB->Tasks->Shrink->Files,查看数据和事务日志文件使用了多少空间 数据库的恢复模式很可能设置为“完全”,在这种情况下,除

我不是DBA,但我需要收缩DB,我尝试使用SSMS接口进行收缩,但没有成功

统计数字如下:

  • 大小:235013.00 MB
  • 可用空间:65587.59 MB
我还尝试了
DBCC SHRINKDATABASE。。。TRUNCATEONLY
命令,也没有更改任何内容

如何在不丢失数据的情况下缩小此DB(将未使用的空间释放到操作系统)

  • 在SSM中,尝试右键单击DB->Tasks->Shrink->Files,查看数据和事务日志文件使用了多少空间
  • 数据库的恢复模式很可能设置为“完全”,在这种情况下,除非执行完全数据库备份,否则无法收缩事务日志。如果没有问题,只需将恢复模型更改为Simple,然后再次尝试收缩事务日志和数据文件

  • 没有足够的分数来评论,但要小心缩小。由于索引的碎片化,它可能会影响性能

    详细说明如下:


    Sam

    顺便说一句,也要检查初始尺寸。如果初始大小为235013 MB,则需要先减小初始大小

    其次,收缩是对数据文件可能做的最糟糕的事情之一。如果收缩一个tlog文件,这没关系,因为tlog不使用数据页结构。如果缩小数据库数据文件,则可以将完全消除碎片的数据库变成完全碎片化的数据库。这会把演出搞得面目全非。顺便问一下,你为什么要缩水?数据库是200 GB左右,有60 GB左右的免费数据。。。。大约30%是免费的。你不认为在一段时间内,这个空间是可以利用的吗


    如果仍然需要收缩数据库,可以创建文件组并将数据移动到该文件组,然后删除当前文件组;如果是主文件组,则可以将大小减小到最小

    点击这个。正在尝试通过SSMS收缩,无论选择了收缩选项,对话框都将立即关闭(没有错误或无法收缩数据库或文件的任何指示)

    最后,我创建了另一个逻辑行数据文件,通过清空/迁移主数据文件到新文件,然后再次缩小/清空到原始数据文件来缩小主数据文件


    这是一个开发数据库,因此我不太担心性能影响(只是想释放磁盘空间)。

    我通过以下步骤解决了问题:

  • 进行数据库备份
  • 将数据库设置为单用户模式
  • 使数据库离线
  • 在线获取数据库
  • 降低数据库和事务日志文件的初始文件大小
  • 收缩数据库/文件
  • 数据库设置为多用户模式

  • 您确定数据库不会再次增长到相同的大小吗?收缩对性能没有好处。