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

收缩数据库 DBCC SHRINKFILE

发布时间:2022-12-03 08:31:04 所属栏目:MsSql教程 来源:互联网
导读: /*查看其恢复模式是否为SIMPLE类型*/
SELECT NAME, recovery_model_desc FROM sys.databases
/*如果是FULL类型,修改为SIMPLE类型*/
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE
GO
/*

/*查看其恢复模式是否为SIMPLE类型*/
SELECT NAME, recovery_model_desc FROM sys.databases
/*如果是FULL类型,修改为SIMPLE类型*/
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE
GO
/*收缩日志文件大小(单位是M)*/
DBCC SHRINKFILE (数据库名称_Log, 1)
GO
/*恢复成FULL类型*/
ALTER DATABASE 数据库名称 SET RECOVERY FULL
GO
/*检查日志文件名称 和收缩后的日志文件大小*/
SELECT NAME, size FROM sys.database_files where  name='数据库名称_Log'

mssql数据导入mysql_数库大数据_mssql数据库空间

图例

其实,写这个贴,缘由是某天上班 正在听音乐看小说,突然接到电话说,程序不能用了。

吓尿了,一看,原来事务日志已满。。

注意:收缩事务日志不能作为运维的常态。

为什么要收缩数据库

SQL Server 2000采取预先分配空间的方法来建立数据库的数据文件或者日志文件,比如数据文件的空间分配了100MB,而实际上只占用了50MB空间,这样就会造成存储空间的浪费。为此,SQL Server 2000提供了收缩数据库的功能,允许对数据库中的每个文件进行收缩,删除已经分配但没有使用的页。

不能在备份数据库时收缩数据库,也不能在收缩数据库 时创建或备份数据库。能将整个数据库收缩到比其原始大小还要小。

文件的收缩操作始终从文件末端开始反向进行。例如,如果要将一个5GB的文件收缩到4GB,则SQL Server 2000将从文件的最后一个1GB开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页面mssql数据库空间,则SQL Server 2000会将这些页面重新定位到保留的部分。

(编辑:财气旺网 - 财气网)

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