今天上午,接到一個任務:遷移SQL SERVER 2005的報表服務到另外一台SQL SERVER 2008服務器,結果等我備份了兩邊服務器的ReportServer,ReportServerTempDB以及相關准備工作后,准備用Reporting Services 配置管理器(Reporting Services Configuration Manage)備份RS秘鑰時,結果悲劇的一幕出現了。
WMI錯誤,具體錯誤細節請見下面

See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** ReportServicesConfigUI.WMIProvider.WMIProviderException: A WMI error has occurred and no additional error information is available. ---> System.Runtime.InteropServices.COMException (0x8000000A) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObject inParameters, InvokeMethodOptions options) at ReportServicesConfigUI.WMIProvider.RSInstance.RefreshServerStatus() --- End of inner exception stack trace --- at ReportServicesConfigUI.WMIProvider.RSInstance.RefreshServerStatus() at ReportServicesConfigUI.WMIProvider.RSInstance.get_DelayLoadConfiguration() at ReportServicesConfigUI.WMIProvider.RSInstance.get_Item(ConfigurationItemNames itemName) at ReportServicesConfigUI.WMIProvider.RSInstance.GetStatus(ConfigurationItemNames itemName) at ReportServicesConfigUI.ConfigurationManager.ResetStepStatus() at ReportServicesConfigUI.ConfigurationManager.ChangeMachine() at ReportServicesConfigUI.ConfigurationManager.LaunchDialog() at ReportServicesConfigUI.ConfigurationManager.OnActivated(EventArgs e) at System.Windows.Forms.Form.set_Active(Boolean value) at System.Windows.Forms.Form.WmActivate(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3625 (GDR.050727-3600) CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- RSConfigTool Assembly Version: 9.0.242.0 Win32 Version: 9.00.5000.00 CodeBase: file:///C:/Program%20Files/Microsoft%20SQL%20Server/90/Tools/Binn/RSConfigTool.exe ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3623 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3624 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3082 (QFE.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- System.Management Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll ---------------------------------------- System.ServiceProcess Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.ServiceProcess/2.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.
Google搜索了很多資料,有說是補丁問題的,有說是Reporting Server配置問題,但是我這邊的版本情況:Microsoft SQL Server 2005 - 9.00.5057.00 (Intel X86) Mar 25 2011 13:50:04 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ,版本比網上所說的版本還高,折騰了好久也沒有解決問題,無賴只有研究研究遷移Reporting Server 的遷移方法:
1): 備份還原數據庫的方法
1:http://owen.blog.51cto.com/776/102013
2)手工拷貝報表文件
2.1 手工拷貝報表文件,通過IE打開相關報表,點擊編輯按鈕
2.2 點擊編輯按鈕,選擇保存,就可以保存報表了。
將所有報表保存下來,打包到目標報表服務器,然后上傳報表,數據源的配置也相對簡單,直接照搬到目標服務器。
3: 第三方工具,這個還沒時間去研究
3.1 http://code.google.com/p/reportsync/
3.2 微軟的工具"Reporting Services Migration Tool",但是只能用於SQL 2008或更高的版本。不過我下載下來,研究了下,還是挺方便,蠻不錯的。
網址: http://www.microsoft.com/en-us/download/details.aspx?id=29560
晚上,在群里問了下這個問題,感謝ITPUB MS SQL SERVER版主的幫助,直接在服務器上運行窗口輸入WMIC命令,安裝了WMI工具,然后打開Reporting Services 配置管理器,連接到報表服務器OK了,不會報上面錯了。問題算是圓滿解決了!