问题
I have SQL Server Reporting services 2008 R2 environment in my Company.
2 servers Windows 2008 R2: PRERPSW01 and PRERPSW02, in domain DOMAIN_Company NLB name: PRERPS
IPs address ( I get by ping command):
PRERPSW01 192.168.110.41
prerps 192.168.90.92
hosts file in PRERPSW01 server
192.168.110.41 prerps
In PRERPSW01 and PRERPSW02 servers, there is this configuration:
Config Report Server: C:\Program Files\Microsoft SQL Server\MSRS10_50.REPORTING\Reporting Services\ReportServer\rsreportserver.config
HostName: PRERPS.
UrlRoot: http://PRERPS/ReportServer
In PRERPSW01, I use credentials PRERPSW01\installerUser
Open IE with http://PRERPS/ReportServer/ReportService2005.asmx
and I cannot access
Open IE with http://PRERPSW01/ReportServer/ReportService2005.asmx
and I can access
I have Poweshell script to deploy RDL files using URI http://PRERPS/ReportServer/ReportService2005.asmx
But I get the error
The request failed with HTTP status 401: Unauthorized.
In my PC, with credentials DOMAIN_Company\My_user,
Open IE with http://PRECASRPS/ReportServer/ReportService2005.asmx and I CAN access
Any suggestions?
Updated
Now, I use credentials DOMAIN_Company\PreRPSAdministrator
.
The same configuration for rsreportserver.config.
Test in PRERPSW01 is OK
Test in PRERPSW02 is KO
Log _ReportServerService__09_22_2015_13_58_31.log_ for PRERPSW02 test:
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)
回答1:
Local accounts + NLB = predictable failure. Either use the domain account to access the virtual server name, or if you're going to run tasks on the local boxes with local accounts, then configure a hosts entry so the virtual server name uses the local machine exclusively. NLBs often cache routes by IP address (not pure round robin balancing) which can lead to 'but the local account works sometimes' scenario. But if you're routed to the other nodes in the NLB the local account will fail.
来源:https://stackoverflow.com/questions/32117175/ssrs-2008-r2-farm-load-balanced-and-http-status-401-unauthorized