云服务器内容精选

  • 请求消息 表2 参数说明 参数 是否必选 参数类型 描述 db_name 是 String 数据库名称。 query_id 否 Long 由SQL的语法解析树计算出的内部哈希码,默认为0,取值范围:-9223372036854775808~ 9223372036854775807。 query_string 否 String SQL语句的文本形式。query_id与query_string只可以存在一个。 max_concurrency 是 Integer 同时执行的SQL数量,小于等于0表示不限制,默认为0,取值范围:-1~50000。 max_waiting 是 Integer 最大等待时间,单位为秒。 search_path 否 String 为不是模式限定的名称设置模式搜索顺序,默认为public。
  • 请求示例 新增SQL限流。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/49b9dd1d6f464ba4bc91df5cbd2e52ebin03/sql-limit { "db_name" : "postgres", "query_id" : 1, "max_concurrency" : 10, "max_waiting" : 10, "search_path" : "public" }
  • 请求消息 表2 参数说明 名称 是否必选 参数类型 说明 name 是 String 数据库名称。 数据库名称长度可在1~64个字符之间,由字母、数字、中划线、下划线或英文句点组成,不能包含其他特殊字符,且不能以RDS for SQL Server系统库开头或结尾。 RDS for SQL Server系统库包括master,msdb,model,tempdb,resource以及rdsadmin。
  • 分析语句语法 完整的分析语句语法如下: SELECT [DISTINCT] (* | expression) [AS alias] [, ...] [GROUP BY expression [, ...] [HAVING predicates]] [ORDER BY expression [ASC | DESC] [, ...]] [LIMIT size OFFSET offset] 父主题: 查询与分析语法-SQL语法
  • 回答 由于Spark存在一个机制,为了提高性能会缓存Parquet的元数据信息。当通过Hive或其他方式更新了Parquet表时,缓存的元数据信息未更新,导致Spark SQL查询不到新插入的数据。 对于存储类型为Parquet的Hive分区表,在执行插入数据操作后,如果分区信息未改变,则缓存的元数据信息未更新,导致Spark SQL查询不到新插入的数据。 解决措施:在使用Spark SQL查询之前,需执行Refresh操作更新元数据信息。 REFRESH TABLE table_name; table_name为刷新的表名,该表必须存在,否则会出错。 执行查询语句时,即可获取到最新插入的数据。
  • 参考信息 被广播的表执行超时,导致任务结束。 默认情况下,BroadCastJoin只允许被广播的表计算5分钟,超过5分钟该任务会出现超时异常,而这个时候被广播的表的broadcast任务依然在执行,造成资源浪费。 这种情况下,有两种方式处理: 调整“spark.sql.broadcastTimeout”的数值,加大超时的时间限制。 降低“spark.sql.autoBroadcastJoinThreshold”的数值,不使用BroadCastJoin的优化。
  • 多个子查询 with t1 as(select name,max(price) as maxprice from fruit group by name), t2 as(select name,avg(price) as avgprice from fruit group by name) select t1.*,t2.* from t1 join t2 on t1.name = t2.name;
  • 操作步骤 登录UGO服务。 单击左侧导航栏的“数据源管理”。 在数据源管理页面,单击右上角的“创建数据源”按钮。 进入创建数据源页面,完成基本信息的填写。 基本信息填写完成后,“开始测试”高亮显示。 图1 创建数据源 表1 创建数据源参数说明 参数名称 说明 名称 在数据源管理列表中显示的名称。 由字母、数字、_、-组成,长度是5-50个字符,不区分大小写且必须以字母开头、数字或字母结束的唯一的项目名称。 数据库类型 下拉选择待创建的数据库类型。当前仅支持 GaussDB 和MySQL。 网络类型 公网网络:通过弹性公网IP(Elastic IP,EIP)进行数据库连接。 如果数据库网络有IP白名单限制,请将弹性公网IP添加至数据库网络白名单,确保UGO可以连接。 连接方法 仅支持通过服务名称进行连接。 数据库名称 待进行管理的数据库名称。 请输入由字母、数字、.、_、-、$、#组成,长度是2-128个字符,必须以字母、数字、.、_、-开头且允许使用"包裹的名称。 主机类型 当前仅支持主机IP地址。 主机IP地址 填写具体主机IP地址,IP地址格式支持IPv4和IPv6。 说明: 支持IPv6数据库如下:MySQL。 主机端口 待进行管理的数据库端口。 用户名 待进行管理的数据库用户名。 由字母、数字、“_”、“-”、“$”、“#”组成,长度为2-128个字符,必须以字母、数字、“.”、“_”、“-”开头且允许使用双引号包裹的用户名。 密码 待进行管理的数据库密码。 密码最多支持50个字符。 单击“开始测试”,测试通过显示“已连接”,右下角“创建”高亮显示。 当前仅测试连通性,若断连或权限不足,会导致“连接数据库失败”,无法创建数据源。 单击创建。显示“项目创建成功”。 单击“确定”,返回数据源管理页面,用户可以看到最新创建的数据源已在列表中。 可通过数据源ID、名称、数据库名称、数据库类型、IP地址及端口信息进行搜索。 图2 数据源管理
  • 步骤1:测试连通性并安装SQL Server Management Studio 在RDS“实例管理”页面,单击实例名称进入“基本信息”页面。 在“连接信息”模块获取实例的公网地址和数据库端口。 图1 连接信息 如果没有绑定公网地址,请参见绑定弹性公网IP。 打开cmd命令窗,测试是否可以正常连接到RDS for SQL Server实例公网地址的端口。 telnet 公网地址 1433 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看RDS的安全组的入方向规则,需要将RDS for SQL Server实例公网地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 在本地打开浏览器,访问Microsoft网站,以SQL Server Management Studio 18.0为例,下载安装包。 双击安装包,按照向导完成安装。
  • 操作场景 安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互信任的弹性云服务器和华为云关系型数据库实例提供访问策略。 为了保障数据库的安全性和稳定性,在使用华为云关系型数据库实例之前,您需要设置安全组,开通需访问数据库的IP地址和端口。 内网连接RDS实例时,设置安全组分为以下两种情况: E CS 与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规则,执行通过内网连接RDS for SQL Server实例(Windows方式)。 ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 本节主要介绍如何为RDS实例设置相应的入方向规则。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 注意事项 因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和华为云关系型数据库实例可互相访问。安全组创建后,您可以在安全组中定义各种访问规则,当华为云关系型数据库实例加入该安全组后,即受到这些访问规则的保护。 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 一个RDS实例允许绑定多个安全组,一个安全组可以关联多个RDS实例。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 当需要从安全组外访问安全组内的华为云关系型数据库实例时,需要为安全组添加相应的入方向规则。 为了保证数据及实例安全,请合理使用权限。建议使用最小权限访问,并及时修改数据库默认端口号(1433),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。 源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的华为云关系型数据库实例。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • RDS for SQL Server入门实践 当您购买并连接到RDS for SQL Server数据库实例后,可以根据自身的业务需求使用RDS提供的一系列常用实践。 表1 RDS for SQL Server常用最佳实践 实践 描述 使用规范 实例使用规范 介绍RDS for SQL Server在实例规格、数据库连接、数据库迁移、以及数据库使用方面的建议。 部署报表服务 RDS for SQL Server 如何将线下SSRS报表服务部署上云 介绍如何在RDS for SQL Server使用SSRS(Reporting Services)报表服务。 数据迁移 使用DAS的导出和导入功能迁移RDS for SQL Server数据 介绍如何使用DAS导出数据,再导入到RDS for SQL Server数据库。 使用S SMS 客户端导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server 介绍如何使用SQL Server自带的导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server。 使用SSMS客户端导入导出功能将本地SQL Server数据库迁移到RDS for SQL Server 介绍如何使用SQL Server自带的导入导出功能将本地SQL Server数据库迁移到RDS for SQL Server。 RDS for SQL Server 如何将线下SSRS报表服务部署上云 介绍如何在RDS for SQL Server使用SSRS(Reporting Services)报表服务。 将RDS for SQL Server备份迁移到RDS for SQL Server 介绍如何使用DRS将源库数据备份迁移到RDS for SQL Server数据库。 将RDS for SQL Server同步到RDS for SQL Server 介绍如何使用DRS将RDS for SQL Server同步到RDS for SQL Server数据库。 将本地SQL Server备份迁移到RDS for SQL Server 介绍如何使用DRS将本地SQL Server备份迁移到RDS for SQL Server数据库。 将本地SQL Server同步到RDS for SQL Server 介绍如何使用DRS将本地SQL Server同步到RDS for SQL Server数据库。 其他云SQL Server备份迁移到RDS for SQL Server 介绍如何使用DRS将其他云上SQL Server备份迁移到RDS for SQL Server数据库。 将其他云SQL Server同步到RDS for SQL Server 介绍如何使用DRS将其他云上SQL Server同步到RDS for SQL Server数据库。 数据备份 同区域自动备份 介绍如何在数据库实例的备份时段中创建数据库实例的自动备份,系统根据您指定的备份保留期保存数据库实例的自动备份。 同区域手动备份 介绍如何为数据库实例手动备份数据,用户可以通过手动备份恢复数据,从而保证数据可靠性。 跨区域自动备份 介绍如何将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的RDS实例,用来恢复业务。 数据恢复 通过全量备份文件恢复云数据库RDS for SQL Server实例数据 介绍如何使用已有的自动备份和手动备份,将实例数据恢复到备份被创建时的状态。该操作恢复的为整个实例的数据。 将云数据库 RDS for SQL Server实例的数据恢复到指定时间点 介绍如何使用已有的自动备份,恢复实例数据到指定时间点。 父主题: RDS for SQL Server快速入门
  • 约束与限制 自定义登录限制: 新增数据源选择不同的集群,然后输入用户名和密码,测试连接后可以打开集群数据连接。 登录时最好勾选记住密码,如果不填数据库默认是gaussdb数据库。 自定义连接根据租户+用户做了用户权限隔离,不同的子用户看到的连接不同,每个用户只能看到自己创建的连接。 IAM 用户登录限制: 需要IAM用户并且已授权DWS Database Access角色权限才能登录,否则编辑面板置灰,无法编辑。此时需联系有“DWS Administrator”权限的用户在当前页面完成对GaussDB(DWS)的委托授权。 IAM用户目前登录DWS集群数据库后没有任何权限,需要在用户管理界面对给IAM用户赋权才能操作。 连接超时限制: 后台设置了连接的超时时间,如果超时30分钟没有任何操作,则需要重新登录。 连接采用“用户登录ID+DATABASE”的方式做唯一缓存,保证每个用户连接每个数据库使用一个连接,保证每次操作在一个连接上进行执行。 针对一个数据源下的同一个数据库,不建议开多个窗口执行SQL命令,因为同一个数据库下建立的是同一个连接,开多个窗口也需等待前面SQL执行完后才会继续执行。
  • 原因分析 表字段类型是TIMESTAMP类型, 关于timestamp字段:MySQL会把该字段插入的值从当前时区转换成UTC时间(世界标准时间)存储,查询时,又将其从UTC时间转化为当前时区时间返回 timestamp类型字段的时间范围:'1970-01-01 00:00:01' UTC -- '2038-01-19 03:14:07' UTC,详见官方文档: 使用如下命令,查看当前的时区: show variables like "%zone%"; 故障场景中使用的是utc+8时区,如下图,所以timestamp字段默认值需要加8小时才是有效范围,有效支持的范围是从1970-01-01 08:00:01开始;
  • 步骤2:测试连通性并安装SQL Server Management Studio 登录ECS实例,请参见《弹性云服务器用户指南》中“Windows弹性云服务器管理控制台远程登录(VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“基本信息”页面。 在“连接信息”模块获取实例的内网地址和数据库端口。 图4 连接信息 在ECS上打开cmd命令窗,测试是否可以正常连接到RDS for SQL Server实例内网地址的端口。 telnet 192.168.2.182 1433 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 图6 RDS的安全组 在ECS上打开浏览器,访问Microsoft网站,以SQL Server Management Studio 18.0为例,下载安装包。 双击安装包,按照向导完成安装。