J'ai installé SQL Server 2008 R2 sur un nouveau PC. Tout fonctionnait bien jusqu'à ce que je commence à exporter des serveurs enregistrés du SQL Server 2008 R2 Management Studio existant sur mon ancien PC. Lorsque j'ai importé l'un des serveurs enregistrés à ma nouvelle installation, j'ai été obtenu et error " la clé non valide pour une utilisation dans l'état spécifié em>". Maintenant, chaque fois que j'essaie d'ouvrir des serveurs enregistrés sur la nouvelle installation I Obtenez une exception non confondue .NET Framework avec le même message. La zone de serveur enregistré est complètement vide. Il n'y a aucun moyen d'ajouter des serveurs enregistrés maintenant. J'ai essayé de réinstaller SQL mais que l'erreur reste. Il est évidemment lié au processus d'importation. Peut-être que quelque chose a été corrompu. Est-ce que quelqu'un sait comment le réparer? P> 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)
5 Réponses :
sonne comme si c'est quelque chose dans votre profil Windows (E.g. Utilisateurs / [Nom d'utilisateur] / AppData / Itinérance sous Windows 7). Avez-vous essayé de dégager les entrées SQL Server de cela? P>
alan p>
Merci Alan. Tache sur. Le fichier incriminé était regsrvr.xml. Je l'ai renommé et redémarré SQL Server. Une erreur est partie. Je continuerai à ajouter mes serveurs enregistrés manuellement !!
Travaillé pour moi aussi, mais le mien était sous \ users \ [nom d'utilisateur] \ appdata \ Microsoft \ Microsoft SQL Server code>. En outre, en raison de la manière dont le domaine que je suis sur est configuré, il n'était pas sur ma machine locale mais éteint sur un lecteur réseau.
Merci Alan, cela a travaillé pour moi aussi après avoir effacé le regsrvr.xml
supprimé le fichier regsrvr.xml mais maintenant après la connexion, je reçois une erreur nulle et aucune base de données affichée dans les bases de données
J'avais une situation similaire. Exactement les mêmes observations - mais cela n'avait rien à voir avec l'importation. J'avais fait une réinstallation complète de Windows 7 et SQL (Edition Developer). J'avais récupéré mon profil d'avant la reconstruction de sorte qu'il était hors de synchronisation avec l'installation. J'ai supprimé
Le fichier regsrvr.xml était le problème pour moi aussi. Mais plutôt que de supprimer tout le fichier, je viens de la modifier pour supprimer les chaînes de mot de passe cryptées. Après cela, le studio de gestion a ouvert bien avec tous les serveurs importés présents. P>
Brillant! C'est la solution.
De même, j'ai fait une autre exportation des enregistrements du SQL Server Management Studio, mais la deuxième fois que j'ai spécifiée "n'incluent pas les noms d'utilisateur et les mots de passe dans le fichier d'exportation". Ensuite, cela a importé une amende dans ma nouvelle version au lieu de donner une erreur. Il semble donc que quelque chose ne va pas mal avec y compris les mots de passe dans le fichier d'exportation SSMS.
Une dernière chose à vérifier - vous ne pouvez pas importer des définitions exportées en versions antérieures de SQL Management Studio. Vous obtiendrez la même touche non valide pour l'utilisation d'une erreur code>, par exemple, d'exportation de MSSMS2012 et d'essayer d'importer dans MSSMS2008R2. P>
Une dernière chose à vérifier - pour moi, c'était parce qu'il n'y avait pas assez d'espace disque dans le lecteur de SQL Server. L'espace de compensation résolue tout. P>
Stackoverflow.com/a/6476025/2990378 - Cette solution a fonctionné pour moi