Symptoms
Consider the following scenario:
-
You use the side-by-side installation method to install an instance of a 32-bit version and an instance of a 64-bit version of Microsoft SQL Server 2008 Reporting Services.
-
You uninstall the 32-bit version of SQL Server 2008.
In this scenario, Performance Monitor for SQL Server 2008 Reporting Services may not work.
Cause
This problem occurs because the following registry keys are removed when you uninstall the 32-bit version of SQL Server 2008:
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Web Service\Performance:Counter Names
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Web Service\Performance:Counter Types
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Windows Service\Performance:Counter Names
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Windows Service\Performance:Counter Types
Resolution
To resolve this problem, use one of the following methods.
Method 1
Repair the SQL Server 2008 installation. To do this, follow these steps:
-
Start the SQL Server Setup program (setup.exe) from the SQL Server 2008 installation media.
Note After the prerequisites verification and the system verification, the Setup program displays the SQL Server Installation Center page. -
In the navigation pane, click Maintenance, and then click Repair.
Method 2
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows Add the registry keys manually. To do this, follow these steps:
-
Click Start, click Run, type regedit, and then click OK.
-
In Registry Editor, select the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Web Service\Performance
-
Right-click the Performance node, point to New, and then click Multi-String Value
-
Type Counter Names, and then press ENTER.
-
Repeat step 3.
-
Type Counter Types, and then press ENTER.
-
In Registry Editor, select the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSRS 2008 Windows Service\Performance
-
Right-click the Performance node, point to New, and then click Multi-String Value.
-
Type Counter Names, and then press ENTER.
-
Repeat step 8.
-
Type Counter Types, and then press ENTER.
More Information
You may receive the following error message if you do not use one of the methods that are provided in the "Resolution" section in this article before you uninstall the 64-bit instance of SQL Server 2008 Reporting Services:
System.NullReferenceException: Object reference not set to an instance of an object
Additionally, you may find the following call stack information in the Detail.txt log file that is generated by the Setup program when you uninstall the 64-bit instance of SQL Server 2008 Reporting Services:
System.Diagnostics.SharedPerformanceCounter.GetCategoryData()System.Diagnostics.SharedPerformanceCounter..ctor (String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)System.Diagnostics.SharedPerformanceCounter..ctor (String catName, String counterName, String instanceName) System.Diagnostics.PerformanceCounterCategory.Delete(String categoryName)Microsoft.ReportingServices.Common.RSPerfCounterInstallUtil.Uninstall()Microsoft.SqlServer.Configuration.RSExtension.SQLRSConfigurationPrivate.Uninstall_UnConfigRC (Dictionary`2 actionData, PublicConfigurationBase spcb)Microsoft.SqlServer.Configuration.RSExtension.SQLRSConfigurationPrivate.RemoveImpl (ConfigActionTiming timing, Dictionary`2 actionData, PublicConfigurationBase spcb)Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute (ConfigActionScenario scenario, ConfigActionTiming timing, Dictionary`2 actionData, PublicConfigurationBase spcbCurrent)Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute (String actionId, TextWriter errorStream)
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
For more information about how to monitor Report Server performance, visit the following Microsoft Developer (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/ms159809(SQL.100).aspxFor more information about how to repair a failed SQL Server 2008 installation, visit the following MSDN Web site:
http://msdn.microsoft.com/en-us/library/cc646006(SQL.100).aspx