华为云云数据库rds收缩数据库_云淘科技

操作场景

使用存储过程收缩指定数据库的数据文件和日志文件的大小,以释放磁盘部分空间。

rds_shrink_database:收缩指定数据库的全部文件。
rds_shrink_database_log :收缩指定数据库的日志文件。

更多操作,请参见RDS for SQL Server收缩数据库。

前提条件

成功连接RDS for SQL Server实例。通过SQL Server客户端连接目标实例,具体操作请参见通过公网连接RDS for SQL Server实例。

收缩数据库

执行以下命令,进行数据库收缩。

EXEC [master].[dbo].[rds_shrink_database] @DBName=’myDbName‘;

表1 参数说明

参数

说明

myDbName

收缩指定数据库的数据库名称。如果未指定,默认收缩所有数据库。

执行成功后,系统会显示执行进度,并最终进行如下提示:

HW_RDS_Process_Successful: Shrink Database Done.

收缩日志文件

执行以下命令,收缩目标数据库的日志文件。

EXEC [master].[dbo].[rds_shrink_database_log] @dbname;

@dbname: 目标数据库。

示例

执行以下命令,对dbtest2数据库进行收缩。

EXEC [master].[dbo].[rds_shrink_database] @DBName = ‘dbtest2’;

执行结果如下图所示:

执行以下命令,对所有数据库进行收缩。

EXEC [master].[dbo].[rds_shrink_database];

执行以下命令,收缩数据库testdb的日志文件。

EXEC [master].[dbo].[rds_shrink_database_log]@dbname=’dbtest3′;

常见问题

如果执行存储过程发生报错,报错信息为“文件正在使用中”,则请稍后再执行存储过程。
如果执行存储过程后,日志文件大小未改变,请在目标数据库环境下,执行以下SQL,验证文件是否有足够的可用空间。

SELECT name, size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB FROM sys.database_files WHERE type_desc='LOG';

父主题: 存储过程的使用

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家