Le service express de SQL Server ne démarre pas [fermé]

8

J'ai acheté mon premier VPS hier et j'ai installé Microsoft SQL Server 2012 Express dessus.

Ensuite, j'ai redémarré mon VPS. Mais le service SQL Server n'a pas démarré. J'ai essayé de le démarrer manuellement, mais il ne peut pas démarrer:

Le service SQL Server ne démarre pas

Quel est le problème? Comment le résoudre?

PS: Ceci est ma première gestion de serveur, et je suis un débutant, si vous avez besoin de plus de détails à ce sujet, veuillez laisser un commentaire. Je mettrai à jour la question.

Mise à jour 1: voici quelques détails du journal de l'Observateur d'événements que j'ai pensé qu'ils pourraient être utiles pour ce problème:

FCB :: Échec de l'ouverture: impossible d'ouvrir le fichier e: \ sql11_main_t.obj.x86release \ sql \ mkmastr \ databases \ objfre \ i386 \ MSDBData.mdf pour le fichier numéro 1. Erreur du système d'exploitation: 3 (le système ne peut pas trouver le chemin spécifié. ).

La version de génération de la base de données de ressources est 11.00.3000. Il s'agit d'un message d'information uniquement. Aucune action de l'utilisateur n'est requise.

FileMgr :: StartLogFiles: Une erreur de système d'exploitation 2 (le système ne peut pas trouver le fichier spécifié.) S'est produite lors de la création ou de l'ouverture du fichier 'e: \ sql11_main_t.obj.x86release \ sql \ mkmastr \ databases \ objfre \ i386 \ MSDBLog.ldf'. Diagnostiquez et corrigez l'erreur du système d'exploitation et recommencez l'opération.

Démarrage du «modèle» de base de données.

FCB :: Échec de l'ouverture: impossible d'ouvrir le fichier e: \ sql11_main_t.obj.x86release \ sql \ mkmastr \ databases \ objfre \ i386 \ model.mdf pour le fichier numéro 1. Erreur du système d'exploitation: 3 (le système ne peut pas trouver le chemin spécifié. ).

FileMgr :: StartLogFiles: Une erreur de système d'exploitation 2 (le système ne peut pas trouver le fichier spécifié.) S'est produite lors de la création ou de l'ouverture du fichier 'e: \ sql11_main_t.obj.x86release \ sql \ mkmastr \ databases \ objfre \ i386 \ modellog.ldf'. Diagnostiquez et corrigez l'erreur du système d'exploitation et recommencez l'opération.

Je suis confus à propos de ces e:\s, mon VPS n'a qu'un seul lecteur C: \, alors qu'est-ce que e: \?

Mahdi Ghiasi
la source
regardez les journaux, comme le message d'erreur l'a dit. Accédez à l'observateur d'événements et essayez-le à partir de là.
Sc0rian
@ Sc0rian Question mise à jour.
Mahdi Ghiasi

Réponses:

15

Il y a quelques sujets dessus, mais quelqu'un a posté une bonne solution de contournement ici

NET START MSSQL$SQLEXPRESS /f /T3608

SQLCMD -S .\SQLEXPRESS

1>SELECT name, physical_name, state_desc FROM sys.master_files ORDER BY database_id;

Now notice those wrong file names; and run following commands ...

Note: you need to change the file name location ..

1>ALTER DATABASE model MODIFY FILE ( NAME = modeldev, FILENAME = 'c:\model.mdf');
2>ALTER DATABASE model MODIFY FILE ( NAME = modellog, FILENAME = 'c:\modellog.ldf');
3> go

ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData, FILENAME = 'c:\MSDBData.mdf');
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog, FILENAME = 'c:\MSDBLog.ldf');

ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, FILENAME = 'c:\temp.mdf');
ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, FILENAME = 'c:\temp.ldf');

go

exit;

NET STOP MSSQL$SQLEXPRESS 
Sc0rian
la source
Après avoir exécuté ces commandes, maintenant je reçois ces erreurs (dans l' Observateur d' événements): Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'c:\modellog.ldf'. Diagnose and correct the operating system error, and retry the operation.Comment créer les *.mdf, *.ldffichiers?
Mahdi Ghiasi
Il y avait des model, modellog, MSDBData and MSDBLogfichiers C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA. Maintenant, le problème est résolu. Merci beaucoup!
Mahdi Ghiasi
rappelez-vous d'entrer "Go" dans la deuxième ligne après la première requête pour l'exécuter
Iman
pour moi pour une raison quelconque, MSSQL12.SQLEXPRESS ou SQL 2014 LocalDB express a été remplacé à la place de l'ancien chemin MSSQL11.SQLEXPRESS
Iman