加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 打开SQL Server自动缩小是否安全?

发布时间:2020-12-12 16:41:58 所属栏目:MsSql教程 来源:网络整理
导读:可以为数据库启用许多SQL Server选项,其中一个最容易被误解的选项是自动缩小.安全吗?如果没有,为什么不呢? 解决方法 (我最初问的是一个常规问题,但后来发现了正确的方法 – 感谢BrentO) 没有永不. 我现在已经多次在ServerFault上遇到过这个问题,希望通过一
可以为数据库启用许多SQL Server选项,其中一个最容易被误解的选项是自动缩小.安全吗?如果没有,为什么不呢?

解决方法

(我最初问的是一个常规问题,但后来发现了正确的方法 – 感谢BrentO)

没有永不.

我现在已经多次在ServerFault上遇到过这个问题,希望通过一些好的建议来吸引更多的观众.如果人们对这种做事方式不屑一顾,那么我就会很乐意将其删除.

自动缩小是一种非常常见的数据库设置.这似乎是一个好主意 – 从数据库中删除额外的空间.有很多“非自愿的DBA”(想想TFS,SharePoint,BizTalk,或者只是常规的旧SQL Server),他们可能不知道自动收缩是非常邪恶的.

虽然在Microsoft我曾经拥有SQL Server存储引擎并试图删除自动收缩功能,但它必须保持向后兼容性.

为什么自动收缩如此糟糕?

数据库可能会再次增长,为什么要缩小它?

>收缩 – 增长 – 收缩 – 增长会导致文件系统级别碎片并占用大量资源.
>你无法控制它什么时候开始(即使它是常规的)
>它使用了大量资源.在数据库中移动页面会占用CPU,大量IO,并生成大量事务日志.
>这是真正的踢球者:数据文件缩小(无论是否自动)会导致大量索引碎片,从而导致性能不佳.

我曾经做了一篇博客文章,其中有一个示例SQL脚本,它显示了它引起的问题并更详细地解释了一下.请参阅Auto-shrink – turn it OFF!(我的博客上没有广告或垃圾).不要因缩小日志文件而感到困惑,这有时是必要且必要的.

所以你自己帮忙 – 查看你的数据库设置并关闭自动缩小功能.出于完全相同的原因,您也不应该缩减维护计划.把这个词传播给你的同事.

编辑:我应该添加这个,由第二个答案提醒 – 有一种常见的误解,即中断收缩操作会导致损坏.不,不会.我曾经拥有SQL Server中的收缩代码 – 它会回滚当前正在执行的页面移动,如果被中断的话.

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读