使用 Webshell 访问 SQL Server 主机并利用 SSRS

news/2024/4/17 18:07:31

本文将指导您使用RDS SQL Server实例的主机账号登录和管理SQL Server Reporting Services(SSRS)数据库。

背景信息

RDS SQL Server提供Webshell功能,用户可以通过Web界面登录RDS SQL Server实例的操作系统。通过Webshell,用户可以在RDS SQL Server实例上执行命令、上传和下载文件以及执行各种操作。Webshell 提供了一种方便高效的远程管理方法,尤其是在 SSH 客户端不可用时。

SQL Server Reporting Services (SSRS) 是一种 Microsoft 企业级报告服务,使用户能够从 SQL Server 数据库和其他数据源生成各种类型的报告。这些报表包括表格报表、图表报表、交叉表报表和多维数据报表。SSRS 可以连接到 RDS SQL Server 数据库,并将其用作数据源来生成不同类型的报表。这种组合可实现高效的数据管理、分析和报告生成,以支持业务决策和管理。

场景

例如,假设您是一家中小型企业的数据库管理员,负责管理公司的 SQL Server 数据库。随着公司工作负载和数据库访问请求的增加,需要使用 SSRS 来分析和监视数据库。但是,由于公司的服务器位于其他地方,因此无法直接登录主机进行这些操作。

最终访问RDS SQL Server实例所在的主机。登录后,可以使用 SSRS 轻松管理和操作 SQL Server 数据库。

先决条件

确保RDS实例满足以下要求:

• RDS实例位于中国(张家口)以外的区域。

• RDS实例:基础版、集群版、RDS高可用版。如果您的RDS实例为RDS高可用版,请确保该实例为SQL Server 2012及以上版本。

• RDS实例属于通用型或独享型实例规格族。不支持共享实例规格族。

• RDS实例位于VPC中。关于如何修改RDS实例的网络类型,请参见修改RDS SQL Server实例的网络类型。

RDS实例的创建时间满足以下要求:

• 如果RDS实例运行RDS高可用版或RDS集群版,则该实例创建时间为2021年1月1日(含)之后。

• 如果RDS基础版为RDS基础版,则创建时间为2022年9月2日(含)之后。

注意:您可以在RDS控制台基本信息页面的“状态”区域查看RDS实例的创建时间参数。

• 使用阿里云账号登录RDS实例。

• 授予创建系统管理员帐户的权限。具体操作,请参见创建RDS SQL Server系统管理员账号。

• 已创建系统管理员帐户。具体操作,请参见创建RDS SQL Server系统管理员账号。

• 创建帐户类型为“系统管理员帐户”的主机帐户。具体操作,请参见为RDS SQL Server实例创建主机账号并使用主机账号登录。

注意

RDS实例的系统管理员账号或主机账号拥有超出RDS管理范围的权限。RDS实例创建此类账号后,系统不会为RDS实例提供阿里云服务等级协议(SLA)中指定的服务可用性。

步骤一:使用Webshell登录RDS主机

1. 转到实例页面。在顶部菜单栏,选择RDS实例所在的地域。然后,找到RDS实例,单击实例ID。
2. 在弹出的页面左侧导航栏,单击账号管理
3. 在显示的页面上,单击“主持人帐户”选项卡。找到所需的主机帐户,然后单击操作列中的远程连接(主)。
4. 在“远程连接”对话框中,输入主机帐户的密码。

1

5. 单击“确定”。

系统生成Webshell地址,并通过该URL自动连接RDS实例所在的主机。系统在弹出的窗口中显示一个webshell页面。该页面可能被浏览器阻止。如果页面被阻止,您可以配置浏览器以允许显示该页面。示例如下图所示。

2

步骤 2:在主机上配置和使用 SSRSStep 2: Configure and use the SSRS on the host

先决条件

在为 RDS 实例所在的主机配置 SSRS 之前,请确保 SQL Server Reporting Services (MSSQLSERVER) 已启用并正在运行。有关如何查看或更改 SSRS 状态的详细信息,请参阅查看或修改 SSRS 的状态。

3

使用说明

当您的RDS实例运行RDS高可用版或RDS集群版时,RDS实例处于镜像状态或Always On可用性组状态。这可能会导致 SSRS 配置中出现错误。如果出现错误,您需要使用系统管理员账号登录RDS实例,并执行以下语句解决错误。

注意:RDS实例会定期构建镜像或可用组。配置 SSRS 时,可能会出现多个配置错误。每次报错时,您需要使用系统管理员账号登录RDS实例,并执行相关语句。

-- Execute the following statements to disable the image of the database on an RDS instance that runs RDS High-availability Edition:
ALTER DATABASE [ReportServer] SET PARTNER OFF;
ALTER DATABASE [ReportServerTempDB] SET PARTNER OFF;
-- Execute the following statements to remove the database from the ag-rds availability group of an RDS instance that runs RDS Cluster Edition:
ALTER AVAILABILITY GROUP [ag-rds] REMOVE DATABASE [ReportServer];
ALTER AVAILABILITY GROUP [ag-rds] REMOVE DATABASE [ReportServerTempDB];

这些语句可确保 SSRS 可以正确配置和运行。如果您的RDS集群版运行,配置SSRS后,您需要使用系统管理员账号登录RDS实例,并执行以下语句将数据库添加到可用组中。这有助于确保高可用性以及正确的数据库备份和还原。

ALTER AVAILABILITY GROUP [AG-RDS] ADD DATABASE [ReportServer]
ALTER AVAILABILITY GROUP [AG-RDS] ADD DATABASE [ReportServerTempDB]

程序

1. 使用系统管理员账号登录RDS实例,执行如下语句:

DISABLE TRIGGER [_$$_tr_$$_rds_alter_database] ON ALL SERVER;

注意

关于如何连接RDS实例,请参见连接RDS SQL Server实例。

2. 单击“

4

>”图标,然后选择“Reporting Services 配置管理器”。

5

3. 在弹出的对话框中,确认报表服务器的名称,然后单击“连接”。

6

注意:如果您的RDS实例运行RDS高可用版或RDS集群版,则由于镜像或可用性组状态,可能无法将RDS实例连接到报表服务器。如果连接失败,您可以根据使用说明解决问题。

4. 在左侧导航栏,单击“服务账号Web服务URL”,根据业务需要配置相关参数。

7

注意:更多信息,请参见官方文档。

5. 在左侧导航栏,单击数据库。在页面右侧,单击“更改数据库”以在主机上创建报表服务器数据库

a) 选择“创建新的报表服务器数据库”,然后单击“下一步”。

b) 确认服务器名称,配置以下参数,然后单击“下一步”。

8

参数描述
服务器名称服务器的名称。名称无法更改。
身份验证类型身份验证类型。选择“SQL Server 帐户”。
用户名为RDS实例创建的主机账号的用户名。
密码为RDS实例创建的主机账号的密码。

c) 输入报表服务器数据库的名称,并选择脚本的语言。然后,单击“下一步”。

9

d) 指定要连接到报表服务器的帐户的凭据,然后单击“下一步”。

e) 确认“摘要”页面上的信息,然后单击“下一步”。等到创建报表服务器数据库。然后,单击“完成”。

10

6. 使用系统管理员账号登录RDS实例,执行以下语句:

USE [master]
GO
-- Change the recovery model of the database to FULL. Use the NO_WAIT parameter to allow the change to immediately take effect.
ALTER DATABASE [ReportServer] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [ReportServerTempDB] SET RECOVERY FULL WITH NO_WAIT
GO
-- Enable a specific trigger on all databases on the server.
ENABLE TRIGGER [_$$_tr_$$_rds_alter_database] ON ALL SERVER;

7. 后续操作(如创建数据源)根据业务需要而有所不同。具体操作,请参见在ECS上安装并使用SSRS中的步骤6-步骤8或官方文档。

查看或更改 SSRS 的状态

1. 登录RDS实例所在的主机。在搜索框中,输入以打开“服务”。services.msc

11

2. 在“服务(本地)”窗口中,查看 SQL 的状态。Server Reporting Services (MSSQLSERVER)

12

注意:

SSRS 支持以下启动类型:

• 手动:系统启动时服务不会自动启动,必须手动启动。
• 自动:服务在系统启动时自动启动。
• 自动(延迟启动):服务在系统启动一段时间后自动启动。
• 禁用:服务已禁用且无法启动。

3. 可选。更改 SSRS 的状态并启动服务。

a) 双击该服务。在弹出的对话框中,修改“启动类型”参数的值。

13

b) 右键单击该服务。在弹出的对话框中,单击“开始”。

14

c) 查看 SSRS 的新状态。

15

常见问题

是否可以通过API接口获取RDS实例的主机名和Webshell的URL来连接RDS实例的主机?

是的,您可以使用 DescribeDBInstanceIpHostname 接口获取 RDS 实例的主机名,然后调用 DescribeHostWebShell 接口获取 LoginUrl(webshell URL)。

注意

• webshell URL 的有效期为 2 分钟。您必须尽早使用该 URL。
• 如果URL无效,您可以调用API获取新的URL。


https://www.xjx100.cn/news/3118927.html

相关文章

单片机_RTOS_架构

一. RTOS的概念 // 经典单片机程序 void main() {while (1){喂一口饭();回一个信息();} } ------------------------------------------------------ // RTOS程序 喂饭() {while (1){喂一口饭();} }回信息() {while (1){回一个信息();} }void main() {create_task(喂饭);cr…

Linux多线程同步

Linux多线程同步 1、线程同步的概念1.1 为什么要同步1.2 同步方式 2、互斥锁2.1 互斥锁函数2.2 互斥锁使用 3、死锁4、读写锁4.1 读写锁函数4.2 读写锁使用 5、条件变量5.1 条件变量函数5.2 生产者和消费者 6、信号量6.1 信号量函数6.2 生产者和消费者6.3 信号量的使用6.3.1 总…

原神:夏洛蒂是否值得培养?全队瞬抬治疗量不输五星,但缺点也很明显

作为四星冰系治疗角色,夏洛蒂的实战表现可以说相当让人惊喜。不仅有相当有意思的普攻动作以及技能特效,而且她还有治疗和挂冰等功能性。下面就来详细聊聊夏洛蒂是否值得培养。 【治疗量让人惊喜,但也有缺点】 说实话,在使用夏洛蒂…

智能化质量控制,三坐标尺寸SPC管理系统引领制造新潮流!

在制造业的浪潮中,提升产品质量一直是企业不懈追求的目标。为了更好地适应市场需求、提高生产效益,我们自豪地介绍全新的三坐标尺寸SPC(统计过程控制)管理系统,为您的企业带来智能、高效的质量管理体验,助力…

hadoop操作

文件操作 注意当前所在的路径,创建一个mytest文件夹 创建一个1.txt文件 将1.txt文件移动到mytest中,通过mv改名字,然后查看mytest文件夹的txt文件变成了test.txt 删除文件 上传下载文件 新建1.txt 然后编辑它 随便输入什么 上传 然后看看网…

【从删库到跑路 | MySQL总结篇】表的增删查改(进阶下)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、联合…

探究C语言中的分支和循环语句

C语言是一种广泛应用的编程语言,其强大的分支和循环语句为程序员提供了灵活性和控制流。在本文中,我们将深入探讨C语言中的分支和循环语句,以及它们在编程中的重要性和应用。 分支语句: 在C语言中,分支语句主要包括if语…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…