Emplacement tempdb cassé et impossible de récupérer


8

A fait une erreur et a mal tapé une commande alter database pour tempdb.

Maintenant, l'instance ne démarre pas. Je ne peux pas démarrer en mode mono-utilisateur en utilisant -m car il indique que tempdb est introuvable. J'ai essayé d'utiliser:

net start msqsqlserver /f /t3608

Mais je ne peux pas du tout me connecter à l'instance à l'aide de sqlcmdou ssms.


Que dit le journal des erreurs du serveur SQL?
Max Vernon

Quel changement avez-vous fait?
Max Vernon

Réponses:


12

Démarrez SQL Server en tant qu'application, et non en tant que service, en mode de configuration minimale et en ne récupérant que le maître, à partir d'une invite de commande:

[path to this instance]\BINN\sqlservr.exe -c -f -T3608

(Ajoutez -s InstanceNames'il s'agit d'une instance nommée.)

Maintenant, dans une autre invite de commande, connectez-vous à l'aide de SQLCMD:

sqlcmd -S InstanceName -E

Et émettez une correction (vérifiez ceci !!!), puis fermez l'application:

> ALTER DATABASE tempdb MODIFY FILE ...
> SHUTDOWN WITH NOWAIT;
> GO

J'ai fini par entrer via cette méthode, bien que je ne sois pas sûr pourquoi elle ne me permettait pas de me connecter. À la fin, j'ai désactivé tous les services, fait rebondir la boîte et exécuté la machine virtuelle sans connexion réseau et cela semblait fonctionner. Merci pour les pointeurs cependant. J'espère que cela sera utile à quelqu'un d'autre à l'avenir aussi!
Tim Alexander

0
  1. Démarrer le serveur SQL en mode mono-utilisateur - Net Start MSSQLServer / mSQLCMD / f / t3608

  2. Pour être en mode utilisateur unique sqlcmd -S. –E

  3. Exécutez les commandes

Modifier le fichier de modification de la base de données tempdb (name = tempdev, filename = 'E: \ SQLDATA \ DEFAULT \ tempdb.mdf')

Modifier le fichier de modification de la base de données tempdb (name = templog, filename = 'E: \ SQLDATA \ DEFAULT \ Templog.ldf')

  1. Arrêter le serveur sql Net stop mssqlserver
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.