我对 MSSQL 还比较陌生,我们新安装了一台位于可用性组中的报告服务器。第一次执行任何报告时,似乎需要大约 30-40 秒才能返回结果。我知道这是某种连接问题,因为后续报告的执行速度很快。如果连接空闲了一段时间,它似乎会尝试再次建立连接,并需要 30-40 秒。
这是正常行为吗?有解决方法吗?
答案1
在长时间不活动后首次访问 SSRS 时,加载时间会更长,这是“正常”现象。该问题是由 SSRS 的工作方式引起的,SSRS 会在特定时间段后定期重新启动应用程序域。重新启动应用程序域后,首次向 SSRS 发出请求时,它需要加载所有设置,这需要相当长的时间。
安排在工作时间之外、每天早上工作时间之前或午餐时间执行以下 PowerShell 脚本,之后您就可以毫无延迟地准备好 SSRS。
以下是 PowerShell 脚本:
Stop-Service "SQL Server Reporting Services (MSSQLSERVER)"
Start-Service "SQL Server Reporting Services (MSSQLSERVER)"
$wc = New-Object system.net.webClient
$cred = [System.Net.CredentialCache]::DefaultNetworkCredentials
$wc.Credentials = $cred
$src = $wc.DownloadString("http://localhost/Reports/Pages/Folder.aspx
如需更明确的说明,请阅读这文章。