收缩数据库
数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。
文件始终从末尾开始收缩。例如,如果有个5GB的文件,并且在DBCCSHRINKFILE语句中将target_size指定为4GB,则数据库引擎将从文件的最后一个1GB开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则数据库引擎先将这些页重新放置到文件的保留部分。只能将数据库收缩到没有剩余的可用空间为止。例如,如果某个5GB的数据库有4GB的数据,并且在DBCCSHRINKFILE语句中将target_size指定为3GB,则只能释放1GB。
自动数据库收缩
将AUTO_SHRINK数据库选项设置为ON后,数据库引擎将自动收缩具有可用空间的数据库。此选项可以使用ALTERDATABASE语句来进行设置。默认情况下,此选项设置为OFF。数据库引擎会定期检查每个数据库的空间使用情况。如果某个数据库的AUTO_SHRINK选项设置为ON,则数据库引擎将减少数据库中文件的大小。该活动在后台进行,并且不影响数据库内的用户活动。
将数据库设置为自动收缩
ALTERDATABASE(Transact-SQL)
手动数据库收缩
您可以使用DBCC语句或DBCCSHRINKFILE语句来手动收缩数据库或数据库中的文件。如果DBCC或DBCCSHRINKFILE语句无法回收日志文件中的所有指定空间,则该语句将发出信息性消息,指明必须执行什么 *** 作以便释放更多空间。有关收缩日志文件的详细信息,请参阅收缩事务日志。
在该过程中任意时间都可停止DBCC和DBCCSHRINKFILE *** 作,所有已完成工作都将保留。
在使用DBCC语句时,您无法将整个数据库收缩得比其初始大小更小。因此,如果数据库创建时的大小为10MB,后来增长到100MB,则该数据库最小只能收缩到10MB,即使已经删除数据库的所有数据也是如此。
但是,使用DBCCSHRINKFILE语句时,可以将各个数据库文件收缩得比其初始大小更小。必须对每个文件分别进行收缩,而不能尝试收缩整个数据库。
数据库使用很长时间以后,会产生大量的数据,既占空间又影响访问速度,所以进行数据库收缩。
收缩过程:
收缩前一定要做好备份。
把不用的数据删除。
删除完成后数据文件还不会变小。这时你得进企业管理器选择你要收缩的数据库,
所有任务中有个收缩数据库,然后选文件,进去之后有个数据库文件,后有个下拉菜单,先选择日志文件,(以LOG结尾),点收缩文件致MB后面有个最小多少,输入那个值,点确定,完成后再进来,选择数据库文件,步骤同上。
重启电脑,重新分配内存。
您好,很高兴能帮助您,
使用GUI配置数据库备份压缩
1 使用SQL Server管理套件连接到SQL Server 2008实例。
2 在对象管理器中,右键单击服务器和选择属性来查看服务器属性窗口。
3 在备份和恢复下,压缩备份显示了备份压缩默认选项的当前设置。这个设置决定了服务器级别对压缩备份的默认:
如果没有选压缩备份,新的备份在默认情况下是不压缩的。
如果选择了压缩备份,那么新的备份在默认情况下会被压缩。
4 用户需要是sysadmin 或serveradmin 固定服务器角色的成员,来改变数据库备份压缩的默认设置。
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!
以上就是关于SQLServer中的收缩数据库是什么意思(sql收缩数据库命令)全部的内容,包括:SQLServer中的收缩数据库是什么意思(sql收缩数据库命令)、数据库为什么要进行收缩,怎样收缩收缩能否达到效果、如何自动批量异地备份压缩SQLSERVER数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)