Le service SQL Server ne démarre pas après une nouvelle installation !
Aujourd’hui j’ai rencontré un problème particulièrement pénible suite à une installation de SQL Server Express 2012 ! Le service SQL Server ne démarre pas après une nouvelle installation !
N’imaginez pas résoudre cela par l’installation de SQL Server Express 2014 … j’y ai pensé et ça ne fonctionne pas non plus.
Alors je me suis pris la tête un moment et je vous communique ici comment j’ai réussi à résoudre ce problème.
Le problème
Il semblerait que l’installation ait mis les chemins des bases de données Model, MSDB et tempdev au mauvais emplacement lors de l’installation.
La solution
La solution semble assez simple, il faut changer le chemin de ces 3 bases de données vers le bon emplacement !
Les étapes pour résoudre le problème
Premièrement, il faut démarrer l’invite de commande en administrateur afin de pouvoir démarrer MSSQL avec la commande suivante : NET START MSSQLSERVER /f /T3608
MSSQLSERVEUR étant le nom de l’instance, si votre instance se nomme SQLEXPRESS alors la commande sera la suivante : NET START MSSQL$SQLEXPRESS /f /T3608Ensuite, connectez-vous à l’instance à l’aide de l’authentification Windows pour exécuter Transact-SQL de manière interactive avec la commande suivante : SQLCMD -S .\
ou avec le nom de votre instance : SQLCMD –S .\NOM_INSTANCEVous donc désormais, vérifier ce qui ne va pas avec les chemins de vos bases de données. Me concernant, certains chemins étant sur un disque E:/ qui n’existait pas sur mon serveur :/ difficile de fonctionner donc … Si vous constatez des chemins différents de ce qu’ils devraient être, alors vous allez devoir entrer les commandes suivantes afin de remettre au bon endroit vos différents fichiers :
ALTER DATABASE model MODIFY FILE ( NAME = modeldev, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\model.mdf’); ALTER DATABASE model MODIFY FILE ( NAME = modellog, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\modellog.ldf’); ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf’); ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf’); ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\temp.mdf’); ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\temp.ldf’); goEnfin, utilisez la commande exit pour fermer l’invite de commande, arrêtez l’instance MSSQLSERVER (ou votre instance nommée) et redémarrer l’instance. Deuxièmement, et suite aux commandes ci-dessus, l’utilisateur sa ne fonctionne plus ! Il va falloir le réactiver. Retournez dans l’invite de commande en administrateur et utilisez la commande suivante afin de réinitialiser le mot de passe de l’utilisateur sa :
ALTER LOGIN sa WITH PASSWORD = ‘newpassword’ UNLOCK go exitEnfin, utilisez la commande exit pour fermer l’invite de commande, arrêtez l’instance MSSQLSERVER (ou votre instance nommée) et redémarrer l’instance. Démarrez SQL Server Management et normalement tout devrait être de retour à la normale ! Bon courage !