2012-01-20 3 views
1

Pour aider l'un de nos départements, j'ai cloné une machine qui était sur ses derniers pieds et qui héberge actuellement des données importantes. Le plan est de migrer vers une machine virtuelle VMware dès que possible, mais en attendant, j'ai cloné la machine sur un autre PC pour des tests entre autres choses.SQL Server 2005 Express - erreur après la machine de clonage

J'ai renommé le nom d'hôte de la machine d'origine, sorte que la nouvelle machine est en cours d'exécution ASP.NET et SQL Server 2005 (Express) et le site en base de données (Intranet uniquement) est maintenant de retour et en cours d'exécution mais nous recevez une erreur 4200 avec ODBC à propos d'un échec de connexion.

Lors de la vérification du spectateur des événements, il y a le message suivant:

Error in Event viewer application log

Cependant, il semble que le serveur SQL voit encore les comptes locaux comme étant sous un nom d'hôte beaucoup plus âgé (voir ci-dessous :)

Si j'essaie d'ajouter l'utilisateur "CURRENTHOSTNAME \ ASPNET" à la base de données en question, il ne voit que l'ancien nom d'hôte. Est-ce ce qui cause mon problème? Je ne suis pas sûr.

Je sais que pour faire fonctionner IIS en premier lieu, j'ai dû faire "aspnet_reg.exe -ga CURRENTHOSTNAME \ ASPNET" et cela a corrigé mon premier problème mais ce second m'a dérouté.

La société tierce fournissant le logiciel tarde à vous aider. Je fais habituellement PHP & MySQL donc j'ai peu ou pas de connaissance de Microsoft SQL. Si quelqu'un peut m'aider, vous économiserez vraiment mon bacon car il traîne quelques jours maintenant.

Merci d'avance!

Répondre

0

d'accord, il semble être fixé dès maintenant - je réinsérés dans le NEWHOSTNAME \ ASPNET à la sécurité \ Logins sous « Microsoft SQL Server Management studio express » puis il est apparu sous bases de données \ MaBase \ Security \ Users "ou j'ai pu l'ajouter de toute façon (je ne me souviens plus lequel) - je ne sais pas si renommer le serveur qui apparaît sous SELECT @@SERVERNAME fait une différence, mais cette erreur est maintenant corrigée de toute façon

0

Il peut être difficile de renommer une machine avec une instance de serveur SQL. Je pense que vous obtenez l'ancien nom de la machine lorsque vous exécutez cette requête:

SELECT @@SERVERNAME 

Si vous le faites, l'ancien nom de l'ordinateur est toujours stocké dans la table sys.servers. Vous pourriez être en mesure de simplement suivre les instructions de Microsoft au changement de nom, qui est en cours d'exécution juste deux procédures stockées:

sp_dropserver 'old_host_name' 
GO 
sp_addserver 'new_host_name', local 
GO 
+0

Je l'ai fait et redémarré, et maintenant quand je SELECT @@ SERVERNAME, je reçois – TheDavil

+0

non je l'avais fait mal, l'a abandonné à nouveau, redémarré le serveur SQL, @ @SERVERNAME est maintenant correct. le problème principal est maintenant avec les utilisateurs. Il est toujours dit 'connexion a échoué pour' NEWHOSTNAME \ ASPNET '- donc je vais essayer de comprendre comment trier les utilisateurs sur le SQL – TheDavil

0

En clonant une machine que vous ouvrez une grande boîte de Pandore. Ma suggestion serait de sauvegarder uniquement les données et de les restaurer sur un nouvel ordinateur avec de nouvelles installations de tout.Mais dans votre cas, il y a deux choses que je vais essayer:

  • après le clonage, vous devez réinitialiser SID - Cochez cette link
  • sql reconnaît les utilisateurs par leur identifiant/guid, donc supprimer tous les utilisateurs de serveur sql/base de données et les ajouter à partir de zéro
+0

Je ne suis pas un expert sur ce sujet, mais je vais essayer de faire pareil. Merci (EDIT) - désolé j'ai oublié de mentionner que j'ai déjà couru newsid avant d'écrire ce post, c'est juste le deuxième bit que je pourrais avoir à faire. – TheDavil

Questions connexes