Dot-Net

SQL Server 2008 R2 - .NET Framework 未處理的異常

  • March 31, 2015

我在新 PC 上安裝了 SQL Server 2008 R2。一切正常,直到我開始從舊 PC 上的 SQL Server 2008 R2 管理工作室導出註冊伺服器。當我將其中一台註冊伺服器導入到我的新安裝時,我得到了錯誤“密鑰在指定狀態下無效”。

現在,每次我嘗試在新安裝上打開已註冊的伺服器時,都會收到帶有相同消息的 .NET 框架未處理異常。註冊的伺服器區域完全是空的。現在無法添加任何已註冊的伺服器。我已嘗試重新安裝 SQL,但錯誤仍然存在。這顯然與導入過程有關。也許有些東西被破壞了。有誰知道如何修理它?

編輯:異常對話框中的詳細資訊

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.

  at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.ProtectData(String input, Boolean encrypt)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_SecureConnectionString()
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_ConnectionString()
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServer.get_ServerName()
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddRegisteredServerNode(RegisteredServer regSrv, TreeNodeCollection nodes)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddServerGroupToNodeCollection(ServerGroup group, TreeNodeCollection nodes, Boolean createRecursively)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.AddServerGroupToNodeCollection(ServerGroup group, TreeNodeCollection nodes, Boolean createRecursively)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.Initialize(ServerGroup localServerGroup, ServerType serverType, IServerType connDlgServerType, AddCentralManagementServerDelegate onAddCentralManagementServer, AddNewCentralManagementServerDelegate onAddNewCentralManagementServer, DeleteCentralManagementServerDelegate onDeleteCentralManagementServer, GetServiceProviderDelegate onGetService)
  at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerControl.RegisteredServerControl_Load(Object sender, EventArgs e)
  at System.Windows.Forms.UserControl.OnLoad(EventArgs e)
  at System.Windows.Forms.UserControl.OnCreateControl()
  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  at System.Windows.Forms.Control.CreateControl()
  at System.Windows.Forms.Control.WmShowWindow(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  at System.Windows.Forms.ContainerControl.WndProc(Message& m)
  at System.Windows.Forms.UserControl.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)

聽起來像是您的 Windows 配置文件中的內容(例如使用者/

$$ Username $$/AppData/Roaming 在 Windows 7 上)。您是否嘗試過從中清除 SQL Server 條目? 艾倫

RegSrvr.xml 文件也是我的問題。但不是刪除整個文件,我只是編輯它以刪除加密的密碼字元串。之後,Management Studio 在所有導入的伺服器都存在的情況下正常打開。

引用自:https://stackoverflow.com/questions/5744835