如何在具有仪表板统计信息的 ASP.Net 网页上显示 SQL Server 2008(服务器仪表板性能)

本文关键字:仪表板 Server SQL 显示 2008 网页 性能 服务器 Net 统计 ASP | 更新日期: 2023-09-27 18:37:03

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

如何在具有仪表板统计信息的 ASP.Net 网页上显示 SQL Server 2008(服务器仪表板性能)

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

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

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

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

显示带有外部 URL 链接的性能仪表板报告:

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

规格提示:

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

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

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

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

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

    • 数据库:
      SQL Server 实例 = 与连接的
      本地服务器名称相同报表服务器 db = 报表服务器
      报表服务器模式 = 本机
      凭据/登录密码 = 保留默认值/管理员帐户以访问 外部链接。(推荐)
      身份验证类型 = 服务凭据
      [当前报表服务器数据库凭据]/保留默认值

  • 报表管理器 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!