s-s-rS - ReportingService2005.FireEvent - 生成事件权限,它在哪里?

Posted

技术标签:

【中文标题】s-s-rS - ReportingService2005.FireEvent - 生成事件权限,它在哪里?【英文标题】:s-s-rS - ReportingService2005.FireEvent - Generate Events permission, where is it? 【发布时间】:2012-06-28 22:45:28 【问题描述】:

我目前正在报表服务器上编写一个 CLR 存储过程来触发我的订阅事件。我无法使用 FireEvent,因为会引发错误,说明用户“NT AUTHORITY\SYSTEM”没有权限。我知道我正在寻找的权限是生成事件,但我一生都找不到它。

这是我的错误和 CLR 存储过程,我们将不胜感激。

存储过程位于报表服务器上。报表服务器使用 Windows 身份验证。我对 SQL Server 2008 R2 (SP1) 拥有完全的管理员权限。

public partial class StoredProcedures

    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void CTest()
    
        ReportingService2005 rs = new ReportingService2005();
        rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
        rs.Url = "http://erer332/ReportServer/ReportService2005.asmx";
        Subscription[] lSubs;
        try
        
            lSubs = rs.ListSubscriptions("/WFM Graphical Reports/Sales Order Formats by Company", null);
            rs.FireEvent("TimedSubscription", lSubs[0].SubscriptionID);
        
        catch (SoapException e)
        
            SqlContext.Pipe.Send(e.Detail.InnerXml);
        
    
;



<ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">
    rsAccessDenied
</ErrorCode>
<HttpStatus xmlns="http://www.microsoft.com/sql/reportingservices">
    400
</HttpStatus>
<Message xmlns="http://www.microsoft.com/sql/reportingservices">
    The permissions granted to user 'NT AUTHORITY\SYSTEM' are insufficient for performing this operation.
</Message>
<HelpLink xmlns="http://www.microsoft.com/sql/reportingservices">
    http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsAccessDenied&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=10.50.2500.0
</HelpLink>
<ProductName xmlns="http://www.microsoft.com/sql/reportingservices">
    Microsoft SQL Server Reporting Services
</ProductName>
<ProductVersion xmlns="http://www.microsoft.com/sql/reportingservices">
    10.50.2500.0
</ProductVersion>
<ProductLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">
   127
</ProductLocaleId>
<OperatingSystem xmlns="http://www.microsoft.com/sql/reportingservices">
    OsIndependent
</OperatingSystem>
<CountryLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">
    1033
</CountryLocaleId>
<MoreInformation xmlns="http://www.microsoft.com/sql/reportingservices">
    <Source>
        ReportingServicesLibrary
    </Source>
    <Message msrs:ErrorCode="rsAccessDenied" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsAccessDenied&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=10.50.2500.0" xmlns:msrs="http://www.microsoft.com/sql/reportingservices">
        The permissions granted to user 'NT AUTHORITY\SYSTEM' are insufficient for performing this operation.
    </Message>
</MoreInformation>
<Warnings xmlns="http://www.microsoft.com/sql/reportingservices" />`

【问题讨论】:

【参考方案1】:

好吧,想通了。必须远程进入 Reporting Services 服务器并从那里使用 SSMS 进行连接。然后我可以从那里授予必要的权限。在 SSMS 上的计算机上,我一直在 Report Server 中四处寻找权限,但看不到 Reporting Services。

令人困惑!

【讨论】:

以上是关于s-s-rS - ReportingService2005.FireEvent - 生成事件权限,它在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

底层连接已关闭:接收时发生意外错误

s-s-rS 报告管理器未正确显示

报告服务 (s-s-rS):报告页脚在导出到 excel 时不起作用

通过 url 将参数传递给 sql server 报告服务

如何在 C# 代码中将嵌入式数据源添加到 RDL?

Reporting service个人使用经验