sql server 数据库收缩
Posted 句号1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 数据库收缩相关的知识,希望对你有一定的参考价值。
限制和局限
-
收缩后的数据库不能小于数据库的最小大小。 最小大小是在数据库最初创建时指定的大小,或是上一次使用文件大小更改操作(如 DBCC SHRINKFILE)设置的显式大小。 例如,如果数据库最初创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小只能收缩到 10 MB,即使已经删除数据库的所有数据也是如此。
-
不能在备份数据库时收缩数据库。 反之,也不能在数据库执行收缩操作时备份数据库。
-
遇到 xVelocity 内存优化的列存储索引时,DBCC SHRINKDATABASE 将会失败。 遇到 columnstore 索引之前完成的工作将会成功,因此数据库可能会较小。 若要完成 DBCC SHRINKDATABASE,请在执行 DBCC SHRINKDATABASE 前禁用所有列存储索引,然后重新生成列存储索引。
建议
-
若要查看数据库中当前的可用(未分配)空间量。 有关详细信息,请参阅 Display Data and Log Space Information for a Database
-
当您计划收缩数据库时,请考虑以下信息:
-
在执行会产生许多未使用空间的操作(如截断表或删除表操作)后,执行收缩操作最有效。
-
大多数数据库都需要一些可用空间,以供常规日常操作使用。 如果反复收缩数据库并注意到数据库大小变大,则表明收缩的空间是常规操作所必需的。 在这种情况下,反复收缩数据库是一种无谓的操作。
-
收缩操作不会保留数据库中索引的碎片状态,通常还会在一定程度上增加碎片。 这是不要反复收缩数据库的另一个原因。
-
除非有特定要求,否则不要将 AUTO_SHRINK 数据库选项设置为 ON。
-
安全性
权限
要求具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。
以上是关于sql server 数据库收缩的主要内容,如果未能解决你的问题,请参考以下文章