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 /T3608
Ensuite, 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_INSTANCE
Vous 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’); go
Enfin, 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 exit
Enfin, 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 !