华为云云数据库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‘;
参数 |
说明 |
---|---|
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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家