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

本文将指导您使用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。

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值