暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

当计划收缩数据库时,请考虑以下信息

原创 Oracle 2022-06-14
700
  • 当计划收缩数据库时,请考虑以下信息:

    • 在执行会产生大量未用存储空间的操作(如大型 DELETE 语句、截断表或删除表操作)后,执行收缩操作最有效。

    • 大多数数据库都需要一些可用空间,以供常规日常操作使用。 如果反复收缩数据库并注意到数据库大小再次增长,则表明常规操作需要可用空间。 在这种情况下,反复收缩数据库是一种无谓的操作。 增长数据库文件所需的自动增长事件会影响性能。

    • 收缩操作不会保留数据库中索引的碎片状态,通常还会在一定程度上增加碎片。 这是不要反复收缩数据库的另一个原因。

    • 除非有特定要求,否则不要将 AUTO_SHRINK 数据库选项设置为 ON。


要求具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。

正在进行的收缩操作可能会阻止针对数据库的其他查询,并且可能会被正在进行的查询阻止。 SQL Server 2022 (16.x) 预览版中引入的收缩数据库操作具有 WAIT_AT_LOW_PRIORITY 选项。 此功能是 DBCC SHRINKDATABASE 和 DBCC SHRINKFILE 的新附加选项。 如果 WAIT_AT_LOW_PRIORITY 模式下的新收缩操作由于长时间运行的查询已在进行中而无法获得必要的锁定,收缩操作最终将在一分钟后超时并悄悄退出,从而防止其他查询被阻止。 有关详细信息,请参阅 DBCC SHRINKDATABASE

方法一

收缩数据库

  1. 在 对象资源管理器中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开“数据库”,再右键单击要收缩的数据库。

  3. 指向“任务”,指向“收缩”,然后单击“数据库” 。

    Database
    显示所选数据库的名称。

    当前分配的空间
    显示所选数据库的总已用空间和未使用空间。

    可用空间
    显示所选数据库的日志和数据文件中可用空间的总和。

    在释放未使用的空间前重新组织文件
    选择此选项等效于执行指定了目标百分比选项的 DBCC SHRINKDATABASE。 清除此选项等效于执行带 TRUNCATEONLY 选项的 DBCC SHRINKDATABASE。 在打开对话框时,默认情况下不选择此选项。 如果选择此选项,用户必须指定目标百分比选项。

    收缩后文件中的最大可用空间
    输入在数据库收缩后数据库文件中剩余可用空间的最大百分比。 值可以介于 0 和 99 之间。

  4. 选择“确定”。

方法二

收缩数据库

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此实例使用 DBCC SHRINKDATABASE 来减少 UserDB 数据库中数据文件和日志文件的大小,并允许数据库中有 10% 的可用空间。

SQL

DBCC SHRINKDATABASE (UserDB, 10);
GO

跟进:在收缩数据库之后

被移动用来收缩文件的数据可以分布到文件的任何可用位置。 这将导致索引碎片并使搜索索引范围的查询变慢。 若要消除碎片,请考虑在收缩后重新生成文件的索引。 有关详细信息,请参阅重新生成索引

最后修改时间:2022-06-14 09:28:29
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论