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&EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&EvtID=rsAccessDenied&ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&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&EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&EvtID=rsAccessDenied&ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&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 - 生成事件权限,它在哪里?的主要内容,如果未能解决你的问题,请参考以下文章