今天上午,接到一个任务:迁移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:http://www.mssqltips.com/sqlservertip/2692/migrating-sql-reporting-services-to-a-new-server-by-moving-the-reporting-services-databases/
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了,不会报上面错了。问题算是圆满解决了!