今天要打开SQL Server Management Studio 2008时突然出现以下的错误提示窗口:
点击详细信息后显示如下:
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
System.Security.Cryptography.CryptographicException: 该项不适于在指定状态下使用。
在 System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.ProtectData(String input, Boolean encrypt)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_SecureConnectionString()
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_ConnectionString()
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_ServerName()
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddRegisteredServerNode(RegisteredServer regSrv, TreeNodeCollection nodes)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddServerGroupToNodeCollection(ServerGroup group, TreeNodeCollection nodes, Boolean createRecursively)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddServerGroupToNodeCollection(ServerGroup group, TreeNodeCollection nodes, Boolean createRecursively)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.Initialize(ServerGroup localServerGroup, ServerType serverType, IServerType connDlgServerType, AddCentralManagementServerDelegate onAddCentralManagementServer, AddNewCentralManagementServerDelegate onAddNewCentralManagementServer, DeleteCentralManagementServerDelegate onDeleteCentralManagementServer, GetServiceProviderDelegate onGetService)
在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerControl.RegisteredServerControl_Load(Object sender, EventArgs e)
在 System.Windows.Forms.UserControl.OnLoad(EventArgs e)
在 System.Windows.Forms.UserControl.OnCreateControl()
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.WmShowWindow(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
在 System.Windows.Forms.UserControl.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
如果点击继续,SQL Server Management Studio 2008可以运行,但是“已注册的服务器”页签显示不出来任何内容,也无法进行任何操作。
在网上搜寻了一下,最简单的解决方法是:
1. 开启:C:用户[用户名]AppDateRoamingMicrosoftMicrosoft SQL Server100ToolsShell
2. 将RegSrvr.xml更名为RegSrvr.back
3. 重新启动SQL Server Management Studio 2008,就不会再出现错误提示了
或者直接
C:Documents and SettingsAdministratorApplication DataMicrosoftMicrosoft SQL Server100ToolsShell 删除 RegSrvr.xml 文件 搞定!