我的公司有 SQL Server Reporting services 2008 R2 环境。
2 台服务器 Windows 2008 R2:PRERPSW01 和 PRERPSW02,位于域 DOMAIN_Company NLB 名称:PRERPS
IP地址(我通过ping命令获取):
PRERPSW01 192.168.110.41
prerps 192.168.90.92
PRERPSW01 服务器中的主机文件
192.168.110.41 prerps
在PRERPSW01和PRERPSW02服务器中,有以下配置:
Config Report Server: C:\Program Files\Microsoft SQL Server\MSRS10_50.REPORTING\Reporting Services\ReportServer\rsreportserver.config
HostName: PRERPS.
UrlRoot: http://PRERPS/ReportServer
在PRERPSW01中,我使用凭据PRERPSW01\installerUser
使用http://PRERPS/ReportServer/ReportService2005.asmx
打开IE,无法访问
使用http://PRERPSW01/ReportServer/ReportService2005.asmx
打开IE即可访问
我有 Poweshell 脚本使用 URI 部署 RDL 文件 http://PRERPS/ReportServer/ReportService2005.asmx
但我收到错误
请求失败,HTTP 状态为 401:未经授权。
在我的电脑中,使用凭据 DOMAIN_Company\My_user,
使用 http://PRECASRPS/ReportServer/ReportService2005.asmx 打开 IE我可以访问
有什么建议吗?
已更新
现在,我使用凭据 DOMAIN_Company\PreRPSAdministrator
。
rsreportserver.config 的配置相同。
在PRERPSW01中测试没问题
PRERPSW02 中的测试KO
为PRERPSW02测试记录_ReportServerService__09_22_2015_13_58_31.log_:
library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Call to CleanBatch()
library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs, 0 persisted streams, 0 segments, 0 segment mappings, 0 edit sessions.
library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Call to CleanBatch() ends
ui!ReportManager_0-1!fa8!09/22/2015-14:39:44:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
at Microsoft.ReportingServices.UI.GlobalLinks.Control_Init(Object sender, EventArgs args)
ui!ReportManager_0-1!fa8!09/22/2015-14:39:44:: e ERROR: HTTP status code --> 500
-------Details--------
System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()
at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnInit(EventArgs e)
at System.Web.UI.Page.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ui!ReportManager_0-1!e70!09/22/2015-14:39:50:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()
at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnInit(EventArgs e)
at System.Web.UI.Page.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ui!ReportManager_0-1!c4c!09/22/2015-14:39:51:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()
at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnInit(EventArgs e)
at System.Web.UI.Page.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
最佳答案
本地帐户 + NLB = 可预测的故障。 使用域帐户访问虚拟服务器名称,或者如果您要使用本地帐户在本地机器上运行任务,则配置主机条目,以便虚拟服务器名称仅使用本地计算机。 NLB 通常按 IP 地址缓存路由(不是纯粹的循环平衡),这可能会导致“但本地帐户有时可以工作”的情况。但如果您被路由到 NLB 中的其他节点,本地帐户将会失败。
关于security - SSRS 2008 R2,场 - 负载平衡和 HTTP 状态 401 : Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117175/