云服务器内容精选

  • 数据库迁移 迁移上云完成后,需要进行以下检查: 需要检查权限完整性。权限会影响对于数据库的方案,迁移仅会完成数据恢复,数据库用户恢复,登录名等其他服务级权限需要重新创建,并且关联数据库账户。 需要对索引进行重建。由于迁移完成后数据文件的物理环境发生了改变,数据库索引会失效,需要对索引进行重建,否则可能会导致数据库性能有明显下降。 对比参数配置。迁移上云后RDS for SQL Server会使用云上的参数组,需要及时对比云下参数配置和云上是否匹配。由于云下参数配置是经过长期验证,所以请及时更新云上的参数配置。
  • 使用建议 不推荐创建加域实例,云数据库 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接口下发,不能通过SSMS或执行SQL直接操作。迁移上云请参考数据复制服务(DRS)。 恢复数据到已有实例请谨慎操作,避免错误覆盖已有数据导致影响业务。建议使用恢复到新实例功能。 数据库恢复模式(Recovery model)不要设置为simple模式,建议使用full模式。 设置为simple模式将不会对该库执行增量备份,因此该库无法恢复到指定时间点。 对于主备实例或者集群实例,设置数据库恢复模式是simple模式后,会导致该库不会建立复制关系,进而无法操作主备切换或者规格变更。 因此,请谨慎使用simple模式。
  • 约束限制 开启或关闭实例级别的FileStream特性需要重启实例,重启过程大致需要3~5分钟,重启过程中会中断业务,实例将不可用,请谨慎操作。 目前仅支持单机实例、2017企业版集群实例、2019企业版集群实例、2022企业版集群实例开启或关闭该特性。 开启并创建该特性数据库后,不支持关闭。如需关闭,请先删除该特性数据库。 目前不支持通过V3接口创建FileStream特性的数据库。通过API接口创建数据库的详细内容请参见SQL Server创建数据库。 开启FileStream后不支持单机转主备。 开启FileStream后,期间所产生的备份文件只允许恢复到已有实例(非原实例)或者新实例,且恢复的目标实例只能是单机实例或2017企业版集群或2019企业版集群实例。 恢复到已有实例(非原实例):已有实例必须已提前开启FileStream。 恢复到新实例:新实例将自动同步开启FilesStream。
  • 相关参数 filestream access level 云数据库默认值:“0” 作用:文件流访问级别选项。可以用于更改此RDS for SQL Server实例的FILESTREAM访问级别。 参数值:如需修改参数值,详细步骤请参见修改RDS for SQL Server实例参数。 0:表示关闭。 1:表示允许T-SQL访问。 2:允许完全访问。 影响: 开启FileStream特性后,该参数只允许修改1或2才能生效。 关闭FileStream特性后,该参数只能修改0生效。
  • 操作背景 分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。RDS for SQL Server在开启分布式事务的时候已经启动MSDTC,其他服务器请参考设置远程服务器MSDTC(分布式事务处理协调器)进行启动。 更多介绍请参见Microsoft SQL Server官网MS DTC 分布式事务介绍。
  • 服务器级别排序规则 下表为部分操作系统(OS)区域设置确定的默认排序规则。 表4 操作系统排序规则 Windows区域设置 默认排序规则 南非荷兰语(南非) Latin1_General_CI_AS 阿尔萨斯语(法国) Latin1_General_CI_AS 巴斯克语(巴斯克) Latin1_General_CI_AS 波斯尼亚语(波斯尼亚和黑塞哥维那,拉丁语) Latin1_General_CI_AS 保加利亚语(保加利亚) Cyrillic_General_CI_AS 中文(澳门特别行政区) Latin1_General_CI_AI 中文(中华人民共和国) Chinese_PRC_CI_AS 荷兰语(荷兰) Latin1_General_CI_AS 英语(澳大利亚) Latin1_General_CI_AS 英语(印度) Latin1_General_CI_AS 英语(加拿大) Latin1_General_CI_AS 英语(新西兰) Latin1_General_CI_AS 英语(英国) Latin1_General_CI_AS 英语(美国) Latin1_General_CI_AS 菲律宾语(菲律宾) Latin1_General_CI_AS 意大利语(意大利) Latin1_General_CI_AS 泰语(泰国) Thai_CI_AS
  • 字符集排序规则 表2 排序规则说明 排序规则选项 说明 区分大小写(_CS) 区分大写字母和小写字母。 如果指定此项,排序时小写字母将在其对应的大写字母之前。 如果未指定此选项,排序规则将不区分大小写。 即RDS for SQL Server 在排序时将大写字母和小写字母视为相同。 通过指定 _CI,可以显式选择不区分大小写。 区分重音(_AS) 区分重音字符和非重音字符。 例如,“a”和“ấ”为不同字符。 如果未指定此选项,则排序规则将不区分重音。 即RDS for SQL Server 在排序时将字母的重音形式和非重音形式视为相同。 通过指定 _AI,可以显式选择不区分重音。
  • 支持的实例字符集 RDS for SQL Server当前支持的实例字符集如表1所示: 表1 支持的实例字符集 实例字符集 说明 Chinese_PRC_90_CI_AI Chinese-PRC-90,不区分大小写、不区分重音(兼容SQL Server 2005)。 Chinese_PRC_CI_AI Chinese-PRC,不区分大小写、不区分重音。 Chinese_PRC_CI_AS Chinese-PRC,不区分大小写、区分重音。 Chinese_PRC_CS_AS Chinese-PRC,区分大小写、区分重音。 Cyrillic_General_CI_AS Cyrllic_General,不区分大小写,区分重音。 SQL_Latin1_General_CP1_CI_AS 对于Unicode 数据为 Latin1_General,不区分大小写,区分重音。 THAI_CI_AS THAI,不区分大小写、区分重音。