云服务器内容精选

  • 操作步骤 创建c#函数,编译出一个RDS for SQL Server的dll。 图1 c#函数代码 创建函数详细说明请参见官方文档。 使用S SMS 等工具连接数据库。 图2 连接数据库 选择需要创建程序集的数据库,添加对应的程序集。 只能创建safe模式(权限集显示为安全),不能创建其他模式。 dll文件会以十六进制的形式存入。如图4所示。 图3 新建程序集 图4 dll文件 执行程序,如图5所示表示执行成功。程序集中新增一个TESTS程序集,如图6所示。 图5 执行结果 图6 TESTS程序集
  • 操作背景 公共语言运行库(CLR)是Microsoft .NET Framework 的核心,为所有.NET Framework代码提供执行环境。在CLR中运行的代码称为托管代码。CLR提供执行程序所需的各种函数和服务,包括实时(JIT)编译、分配和管理内存、强制类型安全性、异常处理、线程管理和安全性。 SQL CLR(SQL Common Language Runtime)是自SQL Server 2005才出现的新功能,它将.NET Framework中的CLR服务注入到SQL Server中,让SQL Server的部分数据库对象可以使用.NET Framework的编程语言开发(当前只支持VB.NET和C#),包括预存程序、用户自定义函数、触发程序、用户自定义类型以及用户自定义汇总函数等功能。但是要想执行CLR代码,首先要开启CLR特性。 更多介绍请参见Microsoft SQL Server官网公共语言运行时 (CLR) 集成编程概念。 CLR集成安全性相关内容请参见Microsoft SQL Server官网CLR 集成安全性。
  • 步骤2:测试连通性并安装SQL Server Management Studio 登录E CS 实例,请参见《弹性云服务器用户指南》中“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的安全组的入方向规则,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 在ECS上打开浏览器,访问Microsoft网站,以SQL Server Management Studio 18.0为例,下载安装包。 双击安装包,按照向导完成安装。
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Windows弹性云服务器,执行3。 无Windows弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Windows操作系统。 由于需要在ECS下载SQL Server Management Studio客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与RDS for SQL Server实例相同的区域、VPC和安全组,便于RDS for SQL Server和ECS网络互通。 购买Windows弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for SQL Server实例概览页,查看RDS实例的区域和VPC。 图3 SQL Server概览 确认ECS实例与RDS for SQL Server实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装SQL Server Management Studio。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
  • 步骤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为例,下载安装包。 双击安装包,按照向导完成安装。
  • 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数据库。 使用SSMS客户端导入导出功能将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快速入门
  • 解决方案 使用rdsuser账号手动授予新账号的msdb库的public权限。具体操作如下: 方式一: 使用SSMS工具,以rdsuser账号登录实例。 在新账号(newlogin)上右键单击,查看属性。 在“User Mapping”中勾选msdb库,查看下面勾选了public角色,单击“OK”。 图3 授予public权限 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。 方式二: 使用DAS,以rdsuser账号登录实例。 执行以下SQL授予msdb库权限。SQL中待授权账号以newlogin为例。 USE [msdb] GO CREATE USER [newlogin] FOR LOG IN [newlogin] GO 再次尝试使用新账号(newlogin)登录实例,则不会出现报错。
  • 场景描述 主备实例对用户的数据库会自动建立复制关系,用户创建或迁移上云的数据库一般会在几分钟内开始建立复制关系,完成的时间取决于数据库的大小。 有一些场景可能需要解除复制关系执行配置,然后再重新建立复制关系,如下所示。 临时解除复制关系。在修改数据库名称、设置快照隔离级别、设置数据库属性等操作需要临时解除复制关系。不然会有类似如下报错: 图1 报错信息 较长时间解除复制关系(不推荐)。有些库对性能要求极高吞吐量极大,需要不建立复制关系下工作等。
  • 解决方案 暂时解除复制关系 非2017企业版的实例 执行如下SQL解除某个库的复制关系。 alter database [@DBName] set partner off [@DBName]:指定需要解除复制关系的库名。 解除复制关系后的操作需要和该语句在一个批处理中执行,解除复制关系后,系统会尽快自动重建该库的复制关系,不需要手动执行SQL重建。 2017企业版的实例 执行存储过程将数据库移出可用性组。详细内容可参考将自定义数据库移出可用性组。 EXEC rdsadmin.dbo.rds_remove_database_from_ag '@DBName'; @DBName:需要移除的自定义数据库名称。 示例: 将数据库testDB_1从可用性组[AG-RDS-YUN]中移除。 EXEC rdsadmin.dbo.rds_remove_database_from_ag 'testDB_1'; 解除复制关系并且要求不再自动建立(不推荐) 参考1,可以解除复制关系,如果不想让系统自动建立复制关系,可以将数据库的恢复模式(recovery model)改为Simple,参考如下两种方式。 登录SSMS(SQL Server Managerment Studio)客户端,选择目标数据库,右键属性,查看Recovery model,修改Recovery model为Simple。 执行SQL语句修改 alter database [db1] set recovery simple with no_wait 设置为Simple模式后不会产生增量备份,将不能进行表级时间点恢复。如果想恢复建立复制关系。需要将Recovery model 设置为full。 alter database [db1] set recovery full with no_wait 数据库auto close属性为True时不会建立复制关系,并且不会产生复制关系异常的告警。 需要将auto close属性关闭设置为False,才能重新自动建立复制关系。 alter database [db1] set auto_close off with no_wait
  • 测试基准 TPC(Transaction Processing Performance Council)是一家非营利性公司,旨在确定交易处理和数据库基准,并向业界传播客观、可验证的TPC性能数据。TPC包含多种测试基准,常见的有TPC-A、TPC-C和TPC-H等,详细请参见官方文档。TPC-C是一种在OLTP基准。由于TPC-C具有多种事务类型,更复杂的数据库和总体执行结构,TPC-C与TPC-A不同且更为复杂。 本次采用TPC-C测试基准。 华为云完全基于HammerDB工具自建测试模型,不需要对模型结构进行任何优化修改。
  • 测试工具 HammerDB是一款开源的图形化据库负载测试和基准测试工具,可以测试任意操作系统上运行的多种数据库系统,目前有Windows和Linux版本。HammerDB支持自动化、多线程和可扩展的动态脚本。您可以使用HammerDB创建一个测试schema,加载数据,并针对OLTP(online transaction processing ,联机事务处理)和OLAP(online analytical processing,在线分析处理)场景模拟多个虚拟用户对数据库的工作负载。 本文使用的HammerDB版本为2.19,HammerDB最新下载。 安装后的界面如下。
  • 操作场景 tempdb是系统数据库,是一个全局资源,可供连接到SQL Server实例或SQL数据库的所有用户使用 。它是一个临时数据库,无法永久保存数据,作用是给实例中的各种请求处理中间数据,分为主数据文件(.mdf)、次要数据文件(.ndf)和日志文件(.ldf)。当服务重启的时候,tempdb会被重新创建。 tempdb数据库如果在设计上存在缺陷,会存在性能上的问题。尤其是tempdb数据库在一些高并发的场景,如果应用频繁地创建和销毁临时表,会导致实例卡顿从而影响业务。 微软官方建议将临时数据库的文件拆分成多个,一般与逻辑CPU个数相同,超过8个则使用8个数据文件,解决闩锁争用问题每次额外加4个文件。 更多介绍请参见tempdb数据库官方文档。
  • RDS for SQL Server 2019功能概览 类别 功能 版本 web版 标准版 企业版 单机 单机 主备 集群版 实例管理 购买实例 √ √ √ √ 重启实例 √ √ √ √ 实例续费 √ √ √ √ 变更计费方式 按需实例转包周期 包周期实例转按需 √ √ √ √ 变更实例的CPU和规格 √ √ √ √ 重置密码 √ √ √ √ 单机转主备 × √ × × 磁盘扩容 √ √ √ √ 手动切换主备实例 × × √ √ 删除按需实例 √ √ √ √ 升级引擎版本 × × × × 创建只读实例 × × × √ 修改实例名称 √ √ √ √ 修改备注 √ √ √ √ 创建指定实例字符集 √ √ √ √ 设置可维护时间段 √ √ √ √ 购买相同配置实例 √ √ √ √ 标签 管理标签 √ √ √ √ 任务中心 任务中心 √ √ √ √ 数据迁移 DRS备份迁移 √ √ √ √ 数据库连接 VPC内访问(内网访问) √ √ √ √ 公网访问 √ √ √ √ 修改内网地址 √ √ √ √ 修改数据库端口 √ √ √ √ 备份恢复 全量备份(自动备份) √ √ √ √ 增量备份 √ √ √ √ 下载备份 √ √ √ √ 复制备份 √ √ √ √ 自动备份策略 √ √ √ √ 通过备份文件恢复到RDS for SQL Server √ √ √ √ 恢复实例到指定时间点 √ √ √ √ 手动备份 √ √ √ √ 恢复到新实例 √ √ √ √ 恢复到已有实例 √ √ √ √ 设置跨区域备份策略 √ √ √ √ 监控与告警 资源监控 √ √ √ √ 引擎监控 √ √ √ √ 设置告警规则 √ √ √ √ 参数管理 创建参数模板 √ √ √ √ 比较参数模板 √ √ √ √ 应用参数模板 √ √ √ √ 查看参数模板应用记录 √ √ √ √ 编辑参数模板 √ √ √ √ 导出参数模板 √ √ √ √ 查看参数修改历史 √ √ √ √ 日志管理 查看或下载运行日志 √ √ √ √ 查看或下载慢日志 √ √ √ √ 安全管理 云审计 服务 √ √ √ √ 数据库审计(DBSS) √ √ √ √ 服务端加密 √ √ √ √ 数据库安全 √ √ √ √ 修改实例安全组 √ √ √ √ 开启透明 数据加密 (TDE) × √ √ √ 回收站 设置回收站策略 √ √ √ √ 重建实例 √ √ √ √ 引擎主要功能 账号管理 √ √ √ √ 数据库管理 √ √ √ √ 加域实例创建与访问 √ √ √ √ 分布式事务(MSDTC) √ √ √ √ 集成服务(SSIS) × × × √ 文件流(FileStream) √ × × √ 开启CLR集成功能 √ √ √ √ 创建和配置Agent Job和Dblink √ √ √ √ 存储过程相关 修改自定义数据库名称 √ √ √ √ 变更数据捕获(CDC) × √ √ √ 收缩数据库 √ √ √ √ 数据库复制 √ √ √ √ 更新数据库统计信息 √ √ √ √ 跟踪标记 √ √ √ √ 最佳实践 发布与订阅 √ √ √ √ 对接SSRS报表服务 √ √ √ √ 添加链接服务器 √ √ √ √ 父主题: RDS for SQL Server各版本功能概览
  • RDS for SQL Server 2022功能概览 类别 功能 版本 web版 标准版 企业版 单机 单机 主备 集群版 实例管理 购买实例 √ √ √ √ 重启实例 √ √ √ √ 实例续费 √ √ √ √ 变更计费方式 按需实例转包周期 包周期实例转按需 √ √ √ √ 变更实例的CPU和规格 √ √ √ √ 重置密码 √ √ √ √ 单机转主备 × √ × × 磁盘扩容 √ √ √ √ 手动切换主备实例 × × √ √ 删除按需实例 √ √ √ √ 升级引擎版本 × × × × 创建只读实例 × × × √ 修改实例名称 √ √ √ √ 修改备注 √ √ √ √ 创建指定实例字符集 √ √ √ √ 设置可维护时间段 √ √ √ √ 购买相同配置实例 √ √ √ √ 标签 管理标签 √ √ √ √ 任务中心 任务中心 √ √ √ √ 数据迁移 DRS备份迁移 √ √ √ √ 数据库连接 VPC内访问(内网访问) √ √ √ √ 公网访问 √ √ √ √ 修改内网地址 √ √ √ √ 修改数据库端口 √ √ √ √ 备份恢复 全量备份(自动备份) √ √ √ √ 增量备份 √ √ √ √ 下载备份 √ √ √ √ 复制备份 √ √ √ √ 自动备份策略 √ √ √ √ 通过备份文件恢复到RDS for SQL Server √ √ √ √ 恢复实例到指定时间点 √ √ √ √ 手动备份 √ √ √ √ 恢复到新实例 √ √ √ √ 恢复到已有实例 √ √ √ √ 设置跨区域备份策略 √ √ √ √ 监控与告警 资源监控 √ √ √ √ 引擎监控 √ √ √ √ 设置告警规则 √ √ √ √ 参数管理 创建参数模板 √ √ √ √ 比较参数模板 √ √ √ √ 应用参数模板 √ √ √ √ 查看参数模板应用记录 √ √ √ √ 编辑参数模板 √ √ √ √ 导出参数模板 √ √ √ √ 查看参数修改历史 √ √ √ √ 日志管理 查看或下载运行日志 √ √ √ √ 查看或下载慢日志 √ √ √ √ 安全管理 云审计服务 √ √ √ √ 数据库审计(DBSS) √ √ √ √ 服务端加密 √ √ √ √ 数据库安全 √ √ √ √ 修改实例安全组 √ √ √ √ 开启透明数据加密(TDE) × √ √ √ 回收站 设置回收站策略 √ √ √ √ 重建实例 √ √ √ √ 引擎主要功能 账号管理 √ √ √ √ 数据库管理 √ √ √ √ 加域实例创建与访问 √ √ √ √ 分布式事务(MSDTC) √ √ √ √ 集成服务(SSIS) × × × √ 文件流(FileStream) √ × × √ 开启CLR集成功能 √ √ √ √ 创建和配置Agent Job和Dblink √ √ √ √ 存储过程相关 修改自定义数据库名称 √ √ √ √ 变更数据捕获(CDC) × √ √ √ 收缩数据库 √ √ √ √ 数据库复制 √ √ √ √ 更新数据库统计信息 √ √ √ √ 跟踪标记 √ √ √ √ 最佳实践 发布与订阅 √ √ √ √ 对接SSRS报表服务 √ √ √ √ 添加链接服务器 √ √ √ √ 父主题: RDS for SQL Server各版本功能概览
  • 订阅 选择对应设置的发布,单击右键选择“新建订阅”。 图17 新建订阅 创建订阅的发布,单击“下一步”。 图18 创建发布 选择推送订阅,单击“下一步”。 图19 分发代理位置 选择“添加订阅服务器”,支持SQL Server引擎和非SQL Server作为订阅服务器,将创建并根据上述步骤配置的华为云实例作为一个订阅服务器。 图20 添加订阅服务器 选择一个数据库作为订阅对象。 图21 选择订阅数据库 配置与订阅服务器的连接。 图22 配置连接 使用一个长期有效的数据库帐号,保障订阅长期有效,这里的帐号设置可以为登录华为云实例的数据库帐号,单击“确定”。 图23 连接分发服务器 创建订阅成功。 图24 创建订阅 将鼠标移动到发布配置上可以看到对应的订阅信息。 图25 查看订阅