如何在带有Dashboard Stats的ASP.Net网页上显示SQL Server 2008(服务器仪表板性能)?

时间:2013-10-25 19:45:22

标签: c# asp.net sql sql-server sql-server-2008

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

1 个答案:

答案 0 :(得分:2)

这些是使用外部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 通过执行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和Run。你应该得到报告。

使用外部网址链接显示效果信息中心报告:

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

规范提示:

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

  • 网络服务网址 =保留所有配置的默认值

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

    • 动作: 选择现有的报表服务器db

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

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

  • 报告管理员网址 = http://<ComputerName>:80/<YourReportName>

  • 电子邮件设置 =可选

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

  • 加密密钥 =默认

  • 横向扩展部署 =默认

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

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

注意: 如果您使用的是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!