笔记35-徐 收缩数据库或文件注意事项

笔记35-徐 收缩数据库或文件注意事项

 1 --收缩数据库或文件注意事项
 2 --另外数据文件里有空间,而不能压缩或者清空通常是因为数据文件里虽然有很多空的页面,但是这些页面分散在各个区里,
 3 --使得整个文件没有很多空的区,由于 dbcc shrinkfile做的都是区一级的动作。
 4 --他会把使用中的区前移,把没有使用中的区从文件中移除,但是,他不会把一个区里面的空页移除、合并区,
 5 --也不会把页面里的空间移除、合并页面。
 6 --所以,数据库中有很多只使用了一两个页面的区,dbcc shrinkfile的效果不明显
 7 
 8 -------------------------------------------------------------------------------------------------------------
 9 --数据文件的问题:在上述我介绍的报表里找出数据量最多的表
10 --如果这个表有一个聚集索引,那么可以通过重建索引的方式把页面重排一次,没有聚集索引的话可以为他建立一个
11 --建立完索引之后,占用的区释放出来了,这时候使用,下面的代码是例子
12 USE GPOSDB
13 DBCC SHRINKFILE(1,40)
14 --如果不想重建索引,可以把表的数据先移走,然后清空表格,再把数据插回来
15 
16 
17 
18 
19 
20 --日志文件的问题:备份事务日志来截断事务日志
21 
22 
23 --最后,数据文件收缩会给文件带来更多的碎片,所以不建议设置自动收缩或者经常手动收缩,
24 --除非SQL文件就快用尽磁盘空间,影响操作系统


在开启自动收缩选项的情况下,SQL Server定期会检查文件使用情况。如果空闲空间大于25%,SQL Server就会自动运行自动收缩数据库文件的动作。
(附上微软官方链接:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-database-transact-sql-set-options?view=sql-server-2017&viewFallbackFrom=sql-server-2014)
https://www.cnblogs.com/double-K/p/10621461.html
例如:数据迁移删除大量数据时,空闲空间大于25%时,会触发自动收缩功能。

 

 

posted @ 2013-07-27 16:05  桦仔  阅读(567)  评论(2编辑  收藏  举报