云数据库 RDS-使用规范:使用建议

时间:2024-09-06 14:25:02

使用建议

  • 不推荐创建加域实例,云数据库 RDS for SQL Server支持创建加域实例,加域实例的域控服务器在用户侧,用户拥有较高权限,域控服务器组策略配置会影响加入该域的机器,用户侧域控规则修改会导致数据库实例的权限安全风险增加。
  • 单实例数据库数量不要超过100个。单实例可以承载的数据库数量跟实例规格相关,数据库数量过多会导致实例性能下降,占用Worker Thread等资源。
  • 应用不能依赖SysAdmin权限。具有SysAdmin角色的账号有超级管理员权限,使用不当会导致数据库安全与稳定性受到威胁,云数据库不开放超级管理员权限,应用使用数据库不能依赖于此权限。
  • 不要在系统库创建表。用户数据请创建用户自定义库存放,不要在系统库创建任何表写入数据,虽然开放了使用系统库的权限,但是任何在系统库存放的数据都是不安全的。
  • 数据库不要打开Auto Close属性。用户库可以设置Auto Close属性,打开该属性后会导致包括建立复制关系无法建立的问题,并且该属性设置后不能正常的使用该库,强烈建议不要设置。
  • 不要将数据库设置为Single User模式。Single User模式只允许一个Session访问数据库,会导致其他Session无法访问造成云数据库的运维问题。设置Single User模式请及时恢复到Multi User模式。
  • 慢日志不要长时间打开。慢日志可以帮助进行慢SQL分析,但是长时间打开会导致性能损失,建议在不需要跟踪分析SQL问题时关闭慢日志。
  • 定时重建索引。数据库在长时间使用后可能会产生较多的索引碎片,导致数据库访问性能下降,需要定时进行索引重建,可以采用创建SQL Agent Job的方式定时重建索引,建议一个月重建一次索引。
  • 定时更新统计信息。数据库统计信息需要经常更新对于性能有益。建议采用创建SQL Agent Job的方式每周更新一次统计信息。
  • 关注数据库大小,及时收缩数据库。数据库长时间使用可能会有一些物理空间无法及时释放,需要执行收缩数据库操作才能释放物理空间。需要关注日志文件大小及物理文件大小,发现文件膨胀迅速可以在业务低峰期收缩数据库。
  • 数据库名长度不要超过64个字符,且数据库名当前仅支持数字、大小写字母、中划线(-)和下划线(_),不支持其他特殊字符。
  • 建议修改默认端口。RDS for SQL Server默认端口为1433,公网上一些不安全的程序可能会扫描RDS for SQL Server的默认端口,建议修改默认端口。
  • 推荐使用高可用主备实例。相比于单机实例,高可用实例可以极大提高生产业务的可用性和可靠性。
  • 高可用实例请跨AZ部署,进行AZ级别的容灾。
  • 建议长时间运行的实例在业务低峰期可以重启。实例长时间运行后可能会出现性能下降,推荐每三个月能够在业务低峰期重启一次实例。
  • 设置最大并行度。最大并行度参数影响业务的CPU使用率。默认值为0允许Session使用所有CPU,可能由于某个SQL的问题导致CPU无法分配给其他Session使用。建议根据规格配置,如核数除以2。
  • 临时库(TempDB)创建多个ndf辅助文件。
  • 当执行操作出现权限问题时,请优先参考存储过程的使用,查找使用合适的存储过程。
  • 如需修改SQL Server参数,请在控制台进行修改,不支持通过执行SQL命令方式修改。
  • 备份恢复相关操作请通过管理控制台下发或调用RDS API接口、SDK接口下发,不能通过S SMS 或执行SQL直接操作。迁移上云请参考 数据复制服务 (DRS)。
  • 恢复数据到已有实例请谨慎操作,避免错误覆盖已有数据导致影响业务。建议使用恢复到新实例功能。
  • 数据库恢复模式(Recovery model)不要设置为simple模式,建议使用full模式。
    • 设置为simple模式将不会对该库执行增量备份,因此该库无法恢复到指定时间点。
    • 对于主备实例或者集群实例,设置数据库恢复模式是simple模式后,会导致该库不会建立复制关系,进而无法操作主备切换或者规格变更。

    因此,请谨慎使用simple模式。

  • 不建议使用长事务或长时间未提交事务。长事务会长时间占用数据库的事务日志,造成事务日志膨胀并且无法阶段回收空间,最终导致磁盘满并造成大量锁等待,阻塞其他SQL执行。如果kill掉后会导致回滚时间更长,至少是事务执行的1.5倍,造成主备复制延迟增大,导致主备切换失败、主备的规格变更失败。
support.huaweicloud.com/usermanual-rds/rds_mssql_10_0000.html