添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

SQL Server 2016,版本 13.00.5820.21.v1 和更高版本

限制和建议

以下限制和建议适用于在 RDS for SQL Server 上运行 SSRS:

确保使用在将 SSRS 选项添加到 RDS 数据库实例时创建的数据库。有关更多信息,请参阅“ 报告服务器数据库 ”。

您无法将 SSRS 配置为侦听默认 SSL 端口 (443)。允许的值为 1150–49511,但不包括 1234、1434、3260、3343、3389 和 47001。

不支持通过 Microsoft Windows 文件共享进行订阅。

不支持使用报告服务配置管理器。

不支持创建和修改角色。

不支持修改报告服务器属性。

未授予系统管理员和系统用户角色。

无法通过 Web 门户编辑系统级角色分配。

开启 SSRS

使用以下过程为数据库实例开启 SSRS:

为 SSRS 创建选项组

要使用 SSRS,请创建对应于计划使用的 SQL Server 引擎和数据库实例版本的选项组。为此,请使用 AWS Management Console或 AWS CLI。

注意

如果现有选项组针对的是正确的 SQL Server 引擎和版本,也可以使用现有选项组。

以下过程创建适用于 SQL Server 标准版 2017 的选项组。

创建选项组
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台: https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 选项组

    选择 创建组

    创建选项组 窗格中,执行以下操作:

    对于 Name (名称),输入选项组的名称,该名称在 AWS 账户内具有唯一性,例如 ssrs-se-2017 。此名称只能包含字母、数字和连字符。

    对于 描述 ,输入选项组的简要描述,例如 SSRS option group for SQL Server SE 2017 。此说明用于显示说明。

    对于 引擎 ,选择 sqlserver-se

    对于 主引擎版本 ,选择 14.00

    选择 Create (创建)。

以下过程创建适用于 SQL Server 标准版 2017 的选项组。

创建选项组
  • 运行以下命令之一。

对于 Linux、macOS 或 Unix:

aws rds create-option-group \ --option-group-name ssrs-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSRS option group for SQL Server SE 2017"

对于 Windows:

aws rds create-option-group ^ --option-group-name ssrs-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSRS option group for SQL Server SE 2017"

将 SSRS 选项添加到选项组

接下来,使用 AWS Management Console或 AWS CLI 将 SSRS 选项添加到您的选项组。

添加 SSRS 选项
  1. 登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台: https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 选项组

    选择刚创建的选项组,然后选择 Add Option (添加选项)。

    选项详细信息 下,为 选项名称 选择 SSRS

    选项设置 下,执行以下操作:

    输入 SSRS 服务要侦听的端口。默认值为 8443。有关允许值的列表,请参阅 限制和建议

    输入 最大内存 的值。

    最大内存 指定阈值上限,超过该阈值后,不会允许报告服务器应用程序的新内存分配请求。该数字是占数据库实例总内存的百分比。允许的值为 10–80。

    对于 Security groups (安全组) ,请选择要与选项关联的 VPC 安全组。使用与您数据库实例关联的相同安全组。

    要使用 SSRS 电子邮件发送报告,选择 Email delivery in reporting services (报告服务中的电子邮件递送)下的 Configure email delivery options (配置电子邮件递送选项)复选框,然后执行以下操作:

    对于 Sender email address (发件人电子邮件地址),在 SSRS 电子邮件发送的邮件的 From (发件人)字段中输入要使用的电子邮件地址。

    指定有权从 SMTP 服务器发送邮件的用户账户。

    对于 SMTP server (SMTP 服务器),请指定要使用的 SMTP 服务器或网关。

    它可以是 IP 地址、公司内部网中计算机的 NetBIOS 名称或完全限定域名。

    对于 SMTP port (SMTP 端口),输入要用于连接到邮件服务器的端口。默认值为 25。

    要使用身份验证:

    选择 Use authentication (使用身份验证)复选框。

    对于 Secret Amazon Resource Name (ARN) [密钥 Amazon 资源名称(ARN)],输入用户凭证的 AWS Secrets Manager ARN。

    使用以下格式:

    arn:aws:secretsmanager: Region : AccountId :secret: SecretName - 6RandomCharacters

    arn:aws:secretsmanager: us-west-2 : 123456789012 :secret: MySecret-a1b2c3

    有关创建密钥的更多信息,请参阅 使用 SSRS 电子邮件发送报告

    选中 Use Secure Sockets Layer (SSL) [使用安全套接字层 (SSL)] 复选框可使用 SSL 加密电子邮件。

    计划 (Scheduling) 下,选择是立即添加选项还是在下一个维护时段添加选项。

    选择 添加选项

添加 SSRS 选项
  1. 创建 JSON 文件,例如: ssrs-option.json

    设置以下必需参数:

    OptionGroupName – 您之前创建或选择的选项组的名称(以下示例中的 ssrs-se-2017 )。

    Port – SSRS 服务要侦听的端口。默认值为 8443。有关允许值的列表,请参阅 限制和建议

    VpcSecurityGroupMemberships – RDS 数据库实例的 VPC 安全组成员。

    MAX_MEMORY – 阈值上限,超过该阈值后,不会允许报告服务器应用程序的新内存分配请求。该数字是占数据库实例总内存的百分比。允许的值为 10–80。

    (可选)设置以下参数以使用 SSRS 电子邮件:

    SMTP_ENABLE_EMAIL – 设置为 true 以使用 SSRS 电子邮件。默认为 false

    SMTP_SENDER_EMAIL_ADDRESS – SSRS 电子邮件发送的邮件的 From (发件人)字段中要使用的电子邮件地址。指定有权从 SMTP 服务器发送邮件的用户账户。

    SMTP_SERVER – 要使用的 SMTP 服务器或网关。它可以是 IP 地址、公司内部网中计算机的 NetBIOS 名称或完全限定域名。

    SMTP_PORT – 用于连接到邮件服务器的端口。默认值为 25。

    SMTP_USE_SSL – 设置为 true 以使用 SSL 加密电子邮件。默认为 true

    SMTP_EMAIL_CREDENTIALS_SECRET_ARN – 用于保存用户凭证的 Secrets Manager ARN。采用以下格式:

    arn:aws:secretsmanager: Region : AccountId :secret: SecretName - 6RandomCharacters

    有关创建密钥的更多信息,请参阅 使用 SSRS 电子邮件发送报告

    SMTP_USE_ANONYMOUS_AUTHENTICATION – 设置为 true ,如果不想使用身份验证,则不包括 SMTP_EMAIL_CREDENTIALS_SECRET_ARN

    SMTP_ENABLE_EMAIL true 时,原定设置值为 false

    以下示例包含使用密钥 ARN 的 SSRS 电子邮件参数。

    "OptionGroupName": " ssrs-se-2017 ", "OptionsToInclude": [ "OptionName": "SSRS", "Port": 8443 , "VpcSecurityGroupMemberships": [" sg-0abcdef123 "], "OptionSettings": [ { "Name": "MAX_MEMORY","Value": " 60 "}, { "Name": "SMTP_ENABLE_EMAIL","Value": " true "} { "Name": "SMTP_SENDER_EMAIL_ADDRESS","Value": " [email protected] "}, { "Name": "SMTP_SERVER","Value": "email-smtp. us-west-2 .amazonaws.com"}, { "Name": "SMTP_PORT","Value": " 25 "}, { "Name": "SMTP_USE_SSL","Value": " true "}, { "Name": "SMTP_EMAIL_CREDENTIALS_SECRET_ARN","Value": "arn:aws:secretsmanager: us-west-2 : 123456789012 :secret: MySecret-a1b2c3 "} "ApplyImmediately": true

    SSRS 选项添加到该选项组。

    对于 Linux、macOS 或 Unix:

    aws rds add-option-to-option-group \ --cli-input-json file://ssrs-option.json \ --apply-immediately

    对于 Windows:

    aws rds add-option-to-option-group ^ --cli-input-json file://ssrs-option.json ^ --apply-immediately

    将选项组与数据库实例关联

    使用 AWS Management Console 或 AWS CLI 将您的选项组与数据库实例关联。

    如果您使用现有数据库实例,则该实例必须已经关联了 Active Directory 域和 AWS Identity and Access Management (IAM) 角色。如果您创建新实例,请指定现有的 Active Directory 域和 IAM 角色。有关更多信息,请参阅 将 Windows 身份验证与 Amazon RDS for SQL Server 数据库实例结合使用

    您可将您的选项组与新的或现有的数据库实例关联:

    对于新数据库实例,请在启动实例时关联选项组。有关更多信息,请参阅“ 创建 Amazon RDS 数据库实例 ”。

    对于现有数据库实例,请修改实例并关联新选项组。有关更多信息,请参阅 修改 Amazon RDS 数据库实例

您可将您的选项组与新的或现有的数据库实例关联。

创建使用选项组的数据库实例
  • 指定创建选项组时使用的相同数据库引擎类型和主要版本。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-instance-identifier myssrsinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssrs-se-2017

    对于 Windows:

    aws rds create-db-instance ^ --db-instance-identifier myssrsinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssrs-se-2017
修改数据库实例以使用选项组
  • 运行以下命令之一。

    对于 Linux、macOS 或 Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssrsinstance \ --option-group-name ssrs-se-2017 \ --apply-immediately

    对于 Windows:

    aws rds modify-db-instance ^ --db-instance-identifier myssrsinstance ^ --option-group-name ssrs-se-2017 ^ --apply-immediately

    允许对 VPC 安全组的入站访问

    要允许对与您数据库实例关联的 VPC 安全组的入站访问,请为指定的 SSRS 侦听器端口创建入站规则。有关设置安全组的更多信息,请参阅 通过创建安全组提供对 VPC 中的数据库实例的访问

    报告服务器数据库

    当您的数据库实例与 SSRS 选项关联时,将在您的数据库实例上创建两个新的数据库:rdsadmin_ReportServer 和 rdsadmin_ReportServerTempDB。这些数据库充当 ReportServer 和 ReportServerTempDB 数据库。SSRS 将其数据存储在 ReportServer 数据库中,并将其数据缓存在 ReportServerTempDB 数据库中。

    RDS 拥有和管理这些数据库,因此不允许对它们进行 ALTER 和 DROP 等数据库操作。但是,您可以对 rdsadmin_ReportServer 数据库执行读取操作。

    SSRS 日志文件

    您可以访问 ReportserverService_ timestamp .log 文件。可以在 D:\rdsdbdata\Log\SSRS 目录中找到这些报表服务器日志。( D:\rdsdbdata\Log 目录也是错误日志和 SQL Server 代理日志的父目录。)

    对于现有 SSRS 实例,可能需要重启 SSRS 服务才能访问报表服务器日志。可以通过更新 SSRS 选项来重启服务。

    有关更多信息,请参阅 使用 Microsoft SQL Server 日志

    访问 SSRS Web 门户

    使用以下过程访问 SSRS Web 门户:

    在 RDS 上使用 SSL

    SSRS 为其连接使用 HTTPS SSL 协议。若要使用此协议,请将 SSL 证书导入客户端计算机上的 Microsoft Windows 操作系统。

    有关 SSL 证书的更多信息,请参阅 使用 SSL/TLS 加密与数据库实例的连接 。有关将 SSL 与 SQL Server 一起使用的更多信息,请参阅 将 SSL 与 Microsoft SQL Server 数据库实例结合使用

    将访问权限授予域用户

    在新的 SSRS 激活中,SSRS 中没有角色分配。为了授予域用户或用户组访问 Web 门户的访问权限,RDS 提供了一个存储过程。

    向 Web 门户上的域用户授予访问权限
    • 使用以下存储过程。

      exec msdb.dbo.rds_msbi_task @task_type='SSRS_GRANT_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

      向域用户或用户组授予 RDS_SSRS_ROLE 系统角色。此角色授予了以下系统级任务:

      访问 Web 门户

      SSRS_GRANT_PORTAL_PERMISSION 任务成功完成后,您具有使用 Web 浏览器访问门户的权限。Web 门户 URL 的格式如下。

      https://rds_endpoint:port/Reports

      在此格式中,以下项适用:

      rds_endpoint – 与 SSRS 一起使用的 RDS 数据库实例的终端节点。

      您可以在数据库实例的 连接和安全性 选项卡上找到终端节点。有关更多信息,请参阅“ 连接到运行 Microsoft SQL Server 数据库引擎的数据库实例 ”。

      port – 您在 SSRS 选项中设置的 SSRS 侦听器端口。

      访问 Web 门户
      1. 在浏览器中输入 Web 门户网址。

        https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/Reports

        使用您通过 SSRS_GRANT_PORTAL_PERMISSION 任务授予访问权限的域用户的凭证登录。

        将报告部署到 SSRS

        访问 Web 门户后,您可以将报告部署到其中。您可以使用 Web 门户中的上传工具来上传报告,或直接从 SQL Server Data Tools (SSDT) 部署。从 SSDT 部署时,请确保以下各项:

        启动 SSDT 的用户可以访问 SSRS Web 门户。

        SSRS 项目属性中的 TargetServerURL 值设置为带 ReportServer 后缀的 RDS 数据库实例的 HTTPS 终端节点,例如:

        https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/ReportServer

        使用 SSRS 电子邮件发送报告

        SSRS 包括 SSRS 电子邮件扩展,您可以使用它向用户发送报告。

        要配置 SSRS 电子邮件,请使用 SSRS 选项设置。有关更多信息,请参阅 将 SSRS 选项添加到选项组

        配置 SSRS 电子邮件后,您可以在报告服务器上订阅报表。有关更多信息,请参阅 Microsoft 文档中的 报告服务中的电子邮件递送

        与 AWS Secrets Manager 集成是 SSRS 电子邮件在 RDS 上运行所必需的。要与 Secrets Manager 集成,您需要创建密钥。

        注意

        如果您稍后更改密钥,则还必须更新选项组中的 SSRS 选项。

        为 SSRS 电子邮件创建密钥
        1. 按照《AWS Secrets Manager 用户指南》中 创建密钥 的步骤操作。

          对于 选择密钥类型 ,选择 其他密钥类型

          对于 Key/value pairs (键值对),输入以下内容:

          对于 Encryption key (加密密钥),不要使用原定设置 AWS KMS key。使用您自己的现有密钥,或创建新密钥。

          KMS 密钥策略必须允许 kms:Decrypt 操作,例如:

          "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" "Action": [ "kms:Decrypt" "Resource": "*"

          按照《AWS Secrets Manager 用户指南》中的 将权限策略附加到密钥 中的步骤进行操作。权限策略将 secretsmanager:GetSecretValue 操作提供给 rds.amazonaws.com 服务主体。

          我们建议您在策略中使用 aws:sourceAccount aws:sourceArn 条件,以避免出现 混淆代理人 问题。将您的 AWS 账户用于 aws:sourceAccount ,并将选项组 ARN 用于 aws:sourceArn 。有关更多信息,请参阅 防范跨服务混淆代理问题

          下面显示了一个示例权限策略。

          "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "Service" : "rds.amazonaws.com" "Action" : "secretsmanager:GetSecretValue", "Resource" : "*", "Condition" : { "StringEquals" : { "aws:sourceAccount" : " 123456789012 " "ArnLike" : { "aws:sourceArn" : "arn:aws:rds:us-west-2: 123456789012 :og: ssrs-se-2017 "

          有关更多示例,请参阅《AWS Secrets Manager 用户指南》 中的 AWS Secrets Manager 的权限策略示例

          撤销系统级权限

          RDS_SSRS_ROLE 系统角色没有足够的权限来删除系统级角色分配。要从 RDS_SSRS_ROLE 中删除用户或用户组,请使用在授予角色时使用的相同存储过程,但使用 SSRS_REVOKE_PORTAL_PERMISSION 任务类型。

          撤消域用户对 Web 门户的访问权限
          • 使用以下存储过程。

            exec msdb.dbo.rds_msbi_task @task_type='SSRS_REVOKE_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

            执行此操作将从 RDS_SSRS_ROLE 系统角色中删除用户。如果用户有 Content Manager 项目级角色,则还会从其中删除该用户。

            监控任务的状态

            要跟踪您的授予或撤消任务的状态,请调用 rds_fn_task_status 函数。它获取两个参数。第一个参数应该始终为 NULL ,因为它不适用于 SSRS。第二个参数接受任务 ID。

            要查看所有任务的列表,请将第一个参数设置为 NULL ,将第二个参数设置为 0 ,如以下示例所示。

            SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

            要获取特定任务,请将第一个参数设置为 NULL ,将第二个参数设置为任务 ID,如以下示例所示。

            SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

            rds_fn_task_status 函数将返回以下信息。

            task_id

            任务的 ID。

            task_type

            对于 SSRS,任务可以具有以下任务类型:

            • SSRS_GRANT_PORTAL_PERMISSION

            • SSRS_REVOKE_PORTAL_PERMISSION

          database_name

          不适用于 SSRS 任务。

          % complete

          用百分比表示的任务进度。

          duration (mins)

          在任务上花费的时间 (以分钟为单位)。

          lifecycle

          任务的状态。有以下可能状态:

          CREATED 调用 SSRS 存储过程之一后,将创建一个任务并将状态设置为 CREATED

          IN_PROGRESS – 任务开始后,状态将设置为 IN_PROGRESS 。要将状态从 CREATED 更改为 IN_PROGRESS 可能需要最多 5 分钟的时间。

          SUCCESS – 任务完成后,状态将设置为 SUCCESS

          ERROR – 如果任务失败,状态将设置为 ERROR 。有关错误的更多信息,请参阅 task_info 列。

          CANCEL_REQUESTED – 在您调用 rds_cancel_task 存储过程后,任务的状态将设置为 CANCEL_REQUESTED

          CANCELLED – 在成功取消任务后,任务的状态将设置为 CANCELLED

          关闭 SSRS

          要关闭 SSRS,请从其选项组中删除 SSRS 选项。删除该选项不会删除 SSRS 数据库。有关更多信息,请参阅 删除 SSRS 数据库

          您可以通过重新添加 SSRS 选项以再次开启 SSRS。如果您还删除了 SSRS 数据库,则在同一数据库实例上重新添加此选项会创建新的报告服务器数据库。

          从其选项组中删除 SSRS 选项
          1. 登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台: https://console.aws.amazon.com/rds/

          2. 在导航窗格中,选择 选项组

            选择具有 SSRS 选项的选项组(在前面的示例中为 ssrs-se-2017 )。

            选择 Delete option (删除选项)

            删除选项 下,为 待删除的选项 选择 SSRS

            Apply immediately (立即应用) 下,选择 Yes (是) 可立即删除选项,选择 No (否) 可在下次维护时段时删除。

            选择 Delete (删除)

          从其选项组中删除 SSRS 选项
          • 运行以下命令之一。

            对于 Linux、macOS 或 Unix:

            aws rds remove-option-from-option-group \ --option-group-name ssrs-se-2017 \ --options SSRS \ --apply-immediately

            对于 Windows:

            aws rds remove-option-from-option-group ^ --option-group-name ssrs-se-2017 ^ --options SSRS ^ --apply-immediately

          删除 SSRS 数据库

          删除 SSRS 选项不会删除报告服务器数据库。要删除数据库,请使用以下存储过程。

          要删除报表服务器数据库,请务必先删除 SSRS 选项。