销售电话: 1-800-867-1380

了解 Azure 上的 SQL Reporting(9 步教程)

更新时间: 2014年5月

Important重要提示

了解如何使用报表生成器和 Adventure Works for Azure 示例数据在 Azure 上创建和部署 SQL 报表。每个步骤都有清晰的标记,以便你直接跳到要学习的技能。

步骤 1:在 Azure 上设置 SQL Database

步骤 2:下载并在 Azure 上安装 Adventure Works 数据库

步骤 3:在 Azure 上设置 SQL Reporting

步骤 4:在 SQL Reporting 上创建数据源

步骤 5:下载并安装报表生成器

步骤 6:创建报表

步骤 7:在 Azure 上查看报表

步骤 8:保护报表

步骤 9:监视报表使用情况

后续步骤

完成本教程的学习后,你将具有一个按区域显示 Adventure Works 每年销售额的深化报表。

学习本教程的要求包括:具有一个 Azure 订阅、一个报表创作工具和示例数据。你可以使用现有订阅、新订阅或免费的试用订阅。有关详细信息,请参阅 Azure 平台产品

Azure 的订阅提供 SQL DatabaseSQL Reporting,在本教程中要用到它们。本教程提供设置这两个服务的步骤。如果你已经知道这些步骤,请跳过它。

报表生成器 3.0 用于创建你将上载到 SQL Reporting 的报表。或者,你可以使用 SQL Server Data Tools 中的报表设计器,但是其步骤与本教程中所述的步骤不同。

Adventure Works for Azure SQL Database。该示例数据库是可选的,但是如果要遵循本教程中的所有步骤,你将需要它。请记住,SQL Reporting 只能从 SQL Database 检索数据,因此用于报表的任何示例数据必须位于 Azure 中的 SQL Database 上。

你可以在 SQL Database 上仅创建服务器而不必同时创建数据库。尽管在安装数据库前你必须具有现有服务器,但是你目前还不需要数据库。

以下是仅设置服务器的一些步骤。

  1. 连接到管理门户,网址为 http://manage.windowsazure.com。如果你尚未登录,系统将要求你输入有效的订阅凭据。

  2. 在管理门户中,单击导航侧边栏中的 SQL Database 以显示“SQL Database”页。

  3. 单击页面顶部的“服务器”

  4. 单击页面底部的“添加”以创建新服务。

  5. 在 SQL Database 服务器设置中,提供管理员帐户的登录名和密码。请记住管理员名称和密码;在步骤 2 中运行安装 Adventure Works 数据库的命令时需要指定它们。

  6. 选择可用于 SQL Database 和 SQL Reporting 的区域。数据和报表位于同一数据中心时,报表性能将显著提高。

  7. 确保选中“允许 Azure 服务访问服务器”。如果不选中此选项,SQL Reporting 将无法从 SQL Database 检索数据。

  8. 在“SQL Database”页的“服务器”选项卡上,单击刚创建的服务器,然后单击页面顶部的“配置”以允许本地计算机到服务器的连接。

    门户将自动创建一个规则,允许来自你的本地计算机的入站连接。单击向右箭头以接受预定义的规则,然后单击“保存”以在服务器上应用此更改。有关详细信息,请参阅How to: Configure the Server-Level Firewall Settings (Azure SQL Database)



    你将需要等待几分钟使此更改生效。

    note备注
    跳过此步骤或指定不充足的范围将导致在运行数据库安装脚本时出现各种错误。如果在步骤 2:下载并在 Azure 上安装 Adventure Works 数据库中运行数据库安装脚本时遇到错误,请查看命令行输出中的“无法打开登录所请求的服务器 <GUID>。不允许 IP 地址为 <IPaddress> 的客户端访问该服务器。”此错误告知你 IP 范围不包括当前设备的 IP。你可以通过扩展该范围以包括错误中所述的 IP 地址来纠正此错误。如果你已这样做了,解决方案可能需要等待更长一点时间以便在数据中心中处理防火墙规则。

Adventure Works for Azure 是经过修改以在 Azure 上工作的 SQL Server 关系数据库。它包含 SQL Database 所需的一个聚集索引。

在此步骤中,你将下载并在本地计算机上解压缩数据库文件,然后运行一个脚本,以便在 SQL Database 上安装该数据库。没有特别的硬件或软件要求。你可以使用任意 Windows 工作站来执行此步骤。

  1. 转到 Adventure Works for Azure SQL Database(CodePlex 上)以下载数据和安装文件。

  2. 右键单击 .zip 文件以解压缩其内容。

  3. 使用“以管理员身份运行”选项启动命令提示符窗口。有关说明,请参阅以管理员身份启动命令提示符 (Windows 7)Windows 8 命令提示符 – 以管理员身份运行(Youtube 视频)

  4. 导航到 \AdventureWorks 子文件夹,它包含你要用于安装数据库的 .cmd 文件。

  5. 输入以下命令,用实际值替代占位符服务器名称、管理员名称和密码。

    CreateAdventureWorksForSQLAzure.cmd <servername>.database.windows.net <username> <password>
    
    如果需要,你可以从门户获取服务器名称和管理员名称。在门户中,转到“SQL Database”中的“服务器”页。单击一个服务器名称以打开服务器页。在服务器页中,单击“仪表板”,然后复制“管理 URL”。完整地址是服务器名称,但是在命令行上粘贴服务器名称时应忽略“https://”前缀。

    你可以直接将此信息粘贴到命令行。有关详细信息,请参阅如何粘贴到命令提示符

  6. 按 Enter 以便运行该命令。它将需要几分钟时间来完成。最后,你应看到“安装成功”消息。

    如果防火墙配置不允许从你的路由器的 IP 地址连接,在此步骤将发生错误。如果遇到错误,请返回到步骤 1:在 Azure 上设置 SQL Database 中的防火墙配置。

  7. 你可以使用管理门户验证数据库安装。在 http://manage.windowsazure.com 的“SQL Database”页中,你可以单击页面顶部的“数据库”以查看与你的订阅关联的任意服务器上的现有数据库。

  1. 连接到管理门户,网址为 http://manage.windowsazure.com

  2. 单击页面底部的“新建”

  3. 依次单击“数据服务”SQL Reporting“快速创建”以指定设置服务所需的最少信息。这包含一个服务名称、区域、管理员和密码。

  4. “服务名称”中,输入将帮助你在门户中标识和管理服务的名称。此名称仅在门户页中使用。你不能将它用作 Web 服务 URL。Azure 将为你分配在群集中唯一标识你的服务实例的服务 GUID。

  5. “区域”列表中,选择为 SQL Database 所选的同一区域。将两个服务置于同一区域的数据中心将显著减少检索数据所需的时间。在每个订阅的每个可用区域中,只能创建一个报表服务器。

  6. 输入管理员帐户的用户名和密码。

  7. 单击“创建 SQL Reporting 服务”旁边的复选标记以创建服务。

在 SQL Reporting 术语中,数据源是指定义一次就可以重复使用、集中管理并可以在多个报表中使用的连接信息。在此步骤中,你将在 SQL Reporting 上创建一个数据源并在将来的报表中使用它。

  1. 在管理门户的“SQL Reporting”上,单击你刚创建的服务。

  2. 单击页面顶部的“项”。此页列出了在当前服务上可用的报表、数据源和文件夹。

  3. 单击页面底部的“添加”,然后单击“创建数据源”

  4. “数据源名称”框中键入 AW4Azure。(可选)在“数据源说明”中键入说明。

  5. 选择要在此数据源中使用的 SQL Database。数据库必须在用于 SQL Reporting 的同一订阅下所创建的 SQL Database 实例上承载。不能从其他订阅选择 SQL Database。

    因为你安装了 AdventureWorks for Azure 数据库,可以为 SQL Reporting 数据源选择该数据库。

  6. 在第二页上,指定凭据选项。选择“提供要安全存储在报表服务器中的凭据”,然后键入可以访问 SQL Database 上的 AdventureWorks 的用户名和密码。在本教程中,用户名和密码是你在步骤 1:在 Azure 上设置 SQL Database 中提供的管理员登录名。

  7. 单击复选标记以保存更改。

在此步骤中,你将要安装报表生成器 3.0,它用于创建在 SQL Reporting 上运行的报表。转到下载报表生成器并运行安装程序。

或者,你可以使用 SQL Server Data Tools 中的报表设计器来创建报表,但是其步骤与本教程中所述的步骤不同。请参见安装 SQL Server Data Tools 以便在 Azure 上创建报表

现在你已经可以访问示例数据、服务和创作工具,因此可以使用 AdventureWorks 中的销售数据来生成报表。报表生成器需要使用报表服务来执行数据检索和呈现。你首先要做的事情是指定一个 SQL Reporting 实例作为此报表的报表服务器引擎。

  1. 启动报表生成器。在“开始”菜单上,依次单击“所有程序”Microsoft SQL Server 2012 Report Builder

  2. 关闭“入门”页以便可以指定要用作默认服务器的报表服务。单击页面底部的“连接”



  3. “连接到报表服务器”对话框的列表框中,单击包含要使用的数据源的报表服务器的 Web 服务 URL。因为你在上一步中刚配置了 SQL Reporting 实例,应在可用服务器列表中看到该 Web 服务。



    note备注
    如果你不是从本教程的开头执行操作,或者使用不同计算机来生成报表,这意味着你在列表中可能看不到报表服务。在这种情况下,请使用管理门户来获取报表服务的 Web 服务 URL。你可以从 SQL Reporting 的“仪表板”页复制该 URL,然后将该 URL 粘贴到文本框。

    指定服务器后,单击“连接”

  4. 输入用户名和密码以连接到 SQL Reporting。此帐户不是 Azure 订阅帐户,而是你在 SQL Reporting 中定义的、之后用于访问报表以及由 SQL Reporting 管理的其他项的帐户。提供在步骤 3:在 Azure 上设置 SQL Reporting 中指定的用户名和密码。

    你现在应看到类似于以下屏幕快照的已连接消息。



  5. 在报表生成器的“报表数据”窗格中,右键单击“数据源”,然后选择“添加数据源”。将该数据源命名为 AW4Azure,选择“使用共享连接或报表模型”,然后选择已提供的共享数据源连接。这是你在步骤 4:在 SQL Reporting 上创建数据源中在 SQL Reporting 上创建的数据源。



  6. “单击此项添加标题”中,键入报表名称,如 年销售额(按区域)

  7. 右键单击“数据集”,单击“添加数据集”,然后提供名称,如 TerritorySales

  8. 单击“使用在我的报表中嵌入的数据集”

  9. 在“数据源”中,单击 AW4Azure

  10. 复制以下 SQL 查询并将它粘贴到查询窗口。

    SELECT
    soh.[SalesOrderID]
    ,DATEPART(year, soh.[OrderDate]) AS 'Year'
    ,soh.[CustomerID]
    ,soh.[TerritoryID]
    ,terr.[Name] as 'TerritoryName'
    ,terr.[CountryRegionCode] as 'Country'
    ,soh.[TotalDue] as 'TotalSales'
    FROM [Sales].[SalesOrderHeader] AS soh
    JOIN [Sales].[SalesTerritory] AS terr
    ON terr.[TerritoryID] = soh.[TerritoryID]
    ORDER BY 'Year'
    
    你的屏幕应类似于以下屏幕快照。



  11. 单击“确定”以创建数据集。数据集现在应包含 TerritorySales,具有对应订单 ID、年、地区、国家/地区和总销售额的列。

  12. 在“插入”菜单上,单击“矩阵”,然后单击“矩阵向导”

  13. 选择 TerritorySales 数据集,然后单击“下一步”

  14. 在表布局中,将 TotalSales 拖到“值”区域,将 Year 拖到列,将 Country 拖到行,然后将 TerritoryName 拖到 Country 之下。

    你的向导应类似于以下屏幕快照:



  15. 通过在其余页上选择默认值来完成向导。

  16. 报表布局显示在设计图面上。调整列以便每个列都有较多空间。

    选择包含 SUM(Total Amount) 的所有单元,然后单击“数字”区域中的“货币符号”以应用某种货币格式。



  17. 在主页上,单击“运行”以执行报表。等待一分钟以便加载报表。你的报表应类似于以下屏幕快照。



  18. 单击“设计”以返回到工作区。

  19. 单击“保存”。因为 SQL Reporting 是默认服务器,系统将要求你在 Azure 上保存报表。为文件指定描述性名称,如 AW-TerritorySales



返回到 Azure 管理门户以查看刚从报表生成器上载的报表。在“项”页上,应看到 AW-TerritorySales 报表。

当前不能从“项”页呈现,因此要查看报表,需要使用“仪表板”页。

  1. 单击“SQL Reporting”,单击该报表服务,然后单击“仪表板”

  2. 向下滚动以单击该 Web 服务 URL。

  3. 使用你在步骤 3:在 Azure 上设置 SQL Reporting 中提供的凭据输入 SQL Reporting 用户名和密码。

  4. 将显示报表服务器 HTML 页。单击报表 AW-TerritorySales 以查看该报表。



    该报表将在同一浏览器窗口中打开。你可以在报表中搜索特定值或以其他格式呈现它。

尽管作为报表服务管理员你可以查看报表,但是其他人将无法查看该报表,直到你授予他们访问权限。

  1. 在管理门户中,单击 SQL Reporting,然后打开承载 AW-TerritorySales 报表的报表服务。

  2. 单击页面顶部的“用户”

  3. 单击页面底部的“创建”

  4. 输入用户名、密码和角色。

    你提供的凭据不必对应于现有帐户信息。在“用户”页上指定的帐户仅用于访问该报表服务管理的项。

    “浏览者”是默认角色。它具有对项的读取权限。有关其他角色的详细信息,请参阅预定义的角色

在报表文件夹层次结构的根节点指定角色分配。发布到报表服务的任何文件夹、报表或数据源继承在根节点定义的权限。你可以增加或限制对该层次结构内单个项的权限,这只需要中断权限继承并指定对单个项的新角色分配。

你可以在管理门户中的“仪表板”页中跟踪报表执行情况。如果你需要更多信息,包括谁运行了报表、哪些报表最活跃以及是否生成了错误或警告,还可以分析执行日志。有关详细信息,请参阅了解 SQL Reporting 使用情况 (Azure SQL Reporting)

每次报表查看都会被视为要付费的事件。了解哪些事件需要付费将帮助你管理成本,因为报表和报表用户数将随时间增加。有关详细信息,请参阅Azure SQL Reporting 中的帐户和计费 (Azure SQL Reporting)

现在你了解了创建报表和保存到 Azure 的步骤,接着要确保需要访问此服务的每个用户可以访问它。

管理员在配置数据访问权限时需要考虑以下事项:

  • 要在 SQL Reporting 上保存或使用报表的所有用户必须具有一个 SQL Reporting 帐户和角色分配。“浏览者”角色对于仅查看访问权限足够了,但是报表作者将需要“发布者”“参与者”访问权限。这是你在步骤 9 中执行的活动。

  • 对于生成从 SQL Database 检索数据的报表的报表作者,你将需要代表他们创建一些防火墙规则,以允许从他们的本地计算机连接到 SQL Database。有关详细信息,请参阅 How to: Configure the Server-Level Firewall Settings (Azure SQL Database)

  • 报表作者还需要一个 SQL Database 登录名和权限来访问数据库。作为 SQL Reporting 管理员,你还可以创建一个共享数据源作为替代方法以允许使用存储的凭据进行的连接。有关详细信息,请参阅Managing Databases and Logins in Azure SQL Database

开发者可能需要以其他方式使用新的或现有应用程序中的报表。Azure 上的报表可以集成到使用 ReportViewer 控件的应用程序。有关更多信息,请参阅以下链接:How to: Use ReportViewer in a Web Site Hosted in Azure将 ASP.NET Web 应用程序部署到 Azure 网站

另请参阅

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft