2012-06-28 60 views
1

我正在編寫一個CLR存儲過程在報表服務器上激發我的訂閱事件。我無法使用FireEvent作爲錯誤引發用戶'NT AUTHORITY \ SYSTEM'沒有權限。我知道我正在尋找的許可是生成事件,但我無法在我的生活中找到它。SSRS - ReportingService2005.FireEvent - 生成事件權限,它在哪裏?

這是我的錯誤和CLR存儲過程,任何幫助將不勝感激。

存儲過程位於報表服務器上。 Report Server使用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" />` 

回答

2

好吧想通了。必須遠程訪問Reporting Services服務器並使用SSMS從那裏連接。然後我可以從那裏授予必要的權限。從我在SSMS上的計算機上,我一直在報告服務器中查看權限,無法看到Reporting Services。

令人困惑!