0

有没有办法在 ASP.Net 网页上显示和显示 SQL Server 实例、配置和活动的服务器仪表板报告?我知道 SQL Server 2008 R2 具有生成标准报告的内置功能,关于如何在 ASP.Net/C# 中为最终用户视图复制和带来该报告的任何想法?非常感谢您的帮助。

4

1 回答 1

2

以下是在 MS SQL Server 2008 R2 中使用外部 URL 链接配置和显示服务器仪表板性能的步骤:

在 MS SQL Server 2008 R2 中显示性能仪表板报告:

1-从以下网址 下载 Microsoft SQL Server 2012 性能仪表板报告: http ://www.microsoft.com/en-us/download/details.aspx?id= 29063 通过执行 setup.sql 从 SSMS 运行脚本

2- 下载后,您可以通过转到 SQL Server Management Studio 并连接到本地服务器来运行报告。在对象资源管理器下右键单击(本地)(SQL Server)> 报告 > 自定义报告...找到 C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Performance Dashboard\performance_dashboard_main.rdl 并运行。你应该得到报告。

使用外部 URL 链接显示性能仪表板报告:

1- 在 MS SQL Server 2008 R2 下,转到配置工具 > Reporting Services 配置管理器并连接到您的本地服务器或单击以找到它(启动报表服务器)。

规格提示:

  • 服务帐户= 使用内置帐户:网络服务(默认)

  • Web 服务 URL = 为所有配置保留默认值

  • 数据库= [当前报表服务器 db] / 单击 - 更改数据库

    • 行动:选择现有的报表服务器数据库

    • 数据库服务器:
      服务器名称 = 与您连接的本地服务器名称相同
      身份验证类型 = 当前用户集成安全性(测试连接)

    • 数据库:
      SQL Server 实例 = 与您连接的本地服务器名称相同
      Report Server db = ReportServer
      Report Server Mode = Native
      Credentials/Login-Password = 保留默认值/AdministratorAccount 以访问外部链接。(推荐)
      身份验证类型 = 服务凭据
      [当前报告服务器数据库凭据] / 保留默认值

  • 报告管理器 URL =http://<ComputerName>:80/<YourReportName>

  • 电子邮件设置= 可选

  • 执行帐户= 默认(空白)

  • 加密密钥= 默认

  • 横向扩展部署= 默认

2- 单击报告管理器 URL 的主页链接并上传:C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Performance Dashboard\performance_dashboard_main.rdl

3- 上传后,单击它并在数据源下检查自定义数据源并检查 Windows 集成安全性 > 测试连接。现在,它应该可以工作了。

注意:如果您使用的是 Chrome 或 Safari,页面将不会显示任何内容;因此,您必须找到:C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js ...并且,将以下脚本添加到文件中:

function pageLoad() {
var element = document.getElementById("ctl31_ctl09");
if (element) {
    element.style.overflow = "visible";    }
}

var jQueryScriptOutputted = false;
function initJQuery() {

//if the jQuery object isn't available
if (typeof (jQuery) == 'undefined') {


    if (!jQueryScriptOutputted) {
        //only output the script once..
        jQueryScriptOutputted = true;

        //output the script 
        document.write("<scr" + "ipt type=\"text/javascript\" src=\"../js/jquery- 1.6.2.min.js\"></scr" + "ipt>");
    }
    setTimeout("initJQuery()", 50);
} else {

    $(function () {

        // Bug-fix on Chrome and Safari etc (webkit)
        if ($.browser.webkit) {

            // Start timer to make sure overflow is set to visible
            setInterval(function () {
                var div = $('table[id*=_fixedTable] > tbody > tr:last > td:last > div')

                div.css('overflow', 'visible');
            }, 1000);
        }

    });
}
}

initJQuery();
I hope it helps someone!
于 2013-11-19T20:50:51.940 回答