CrowdStrike Impact PBIRS / SSRS Solution
UPDATE: The most successful solution so far is detailed in the “Repair/Uninstall Fails and Replacing Configuration Files Doesn’t Fix” section of this article. However, this strategy might not be ideal if you’ve customized various other configuration files beyond the RSReportServer.config file.
Introduction
The CrowdStrike bug deployed shortly before July 19th negatively affected many customers, including those using SSRS and PBIRS. The primary symptom is the RS service failing to start due to corrupt XML configuration files. You may also fail to find the reporting instance when opening the Report Server Configuration Manager.
Applicable Versions of Reporting Services:
- Power BI Report Server May 2024
- SQL Server Reporting Services 2017
- SQL Server Reporting Services 2019
- SQL Server Reporting Services 2022
While SSRS 2016 and older versions are also affected, the re-installation method of fixing this issue has not been tested on them (they use a different installer), so it is advisable to restore the files manually. Additionally, if you are running a version of RS integrated with SCCM, the reinstallation may overwrite files required for the integration to work, necessitating re-adding RS as a reporting service point.
Blank Configuration Files
If you examine the RS installation directory closely, you may notice several configuration files are now empty. They might still list their old size or report a proper size, but when opened, they may be completely blank or filled with whitespace. Please check the following files manually, even if they are listed as being larger than 0KB. Check any file modified in the past day.
- \SSRS|PBIRS Folder Path\RSHostingService\config.json
- \SSRS|PBIRS Folder Path\RSHostingService\RSHostingService.exe.config
- \SSRS|PBIRS Folder Path\ReportServer\web.config
- \SSRS|PBIRS Folder Path\ReportServer\rsreportserver.config
- \SSRS|PBIRS Folder Path\ReportServer\rssrvpolicy.config
- \SSRS|PBIRS Folder Path\ReportServer\bin\ReportingServicesService.exe.config
- \SSRS|PBIRS Folder Path\Portal\RSPortal.exe.config
- \SSRS|PBIRS Folder Path\Management\RSManagement.exe.config
Restore these files from a backup or a working installation using the same version of RS. Reporting Services can’t start if any of these files are blank. Many environments appear to be different; not everyone has the same corrupt files. In a worst-case scenario, even restoring these files might not resolve the issue. If that is the case, try the alternate method described later in this article.
PowerShell Script to Scan for Modified Files
To quickly scan for files modified in the past few days, open a PowerShell ISE window and paste this script in a new tab. Modify the installation directory to match your RS deployment.
$RSInstallationDirectory = "PBIRS/SSRS Folder Path"
$ModifiedInPastXDays= 3
$files = Get-ChildItem -Path $RSInstallationDirectory -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-$ModifiedInPastXDays) -and ($_.Extension -eq ".config" -or $_.Extension -eq ".ini" -or $_.Extension -eq ".json") }
foreach($file in $files) {
$file.FullName
}
Some users have reported needing to run a repair on SSRS/PBIRS after restoring the configuration files. You may also need to reboot afterward. Many have reported being able to start the service by replacing a single configuration file. If you can’t get it working, there’s a simple alternative, but be very careful to implement the steps in the exact order described.
Repair/Uninstall Fails and Replacing Configuration Files Doesn’t Fix
- Backup: Take a backup of your RSReportServer.config file at the minimum (better yet, backup the entire RS installation folder). Do not proceed until you have done this.
- Uninstall: Run an uninstall of SSRS/PBIRS. The uninstall may partially fail and partially succeed. The uninstall process parses certain configuration files in the RS installation folder. However, this issue manifests through blank or corrupt configuration files, so parsing the configuration file will fail if the file is affected. If the uninstall process fails, it likely removed the SSRS/PBIRS installation registration (allowing you to run a new install) but will leave behind all the physical files in the original installation directory.
- Reinstall: If your uninstall was completely successful, proceed to reinstall RS in the same installation directory as before (confirm that it is empty — rename it if it is not). If the uninstall was not successful, rename the root installation directory (append “_BACKUP” to the “Microsoft Power BI Report Server” folder inside “Program Files”). When the installer runs, it will scan the target installation directory for old configuration files and attempt to parse them. If the configuration files are corrupt, the installer will fail to parse them and error out. However, installing into an empty/new directory will not have this issue. Once you have confirmed the target path is empty, proceed with the installation. It should complete successfully.
- Restore Configuration: Once the installation is complete, the RS service will be running. Open the Report Server Configuration Tool, stop the service, and replace the RSReportServer.config file with the backup you took earlier. Start the service again. If done properly, you shouldn’t need to restore the encryption key. Everything should work as it did before.
If after reinstalling you get an error message saying “the report server can’t connect to its database,” check the logs in the LogFiles directory for a “database downgrade” error message. You may have installed an older version of RS than what you were previously using, and downgrading is not allowed.