web-dev-qa-db-fra.com

Impossible de démarrer l'instance SqlLocalDB avec mon compte Windows

Je suis l'administrateur et lance simplement la commande:

 sqllocaldb start v11.0

Résultat:

 Start of LocalDB instance "v11.0" failed because of the following error:
 Error occurred during LocalDB instance startup: SQL Server process failed to sta
 rt.

Journal de l'observateur d'événements ID d'événement: 528

L'API Windows WaitForMultipleObjects a renvoyé le code d'erreur: 575. Le message d'erreur système Windows est: {Erreur d'application} L'application n'a pas pu démarrer correctement (0x% lx). Cliquez sur OK pour fermer l'application. Déclaré à la ligne: 3621.

J'ai essayé un autre compte (utilisateur et administrateur), il n'y a eu aucun problème avec eux.

J'ai désinstallé et réinstallé la version 2012 de SQLLocalDB.msi mais je n'ai pas eu de chance. Avez-vous une idée et une solution?

12
Nime Cloud

Je me suis déconnecté puis connecté en tant qu'un autre administrateur et j'ai renommé le nom de mon dossier de profil utilisateur. Je suis passé à mon compte dans Windows 7. Il y a un dossier TEMP nouvellement créé comme dossier de mon profil utilisateur. J'ai comparé la structure des dossiers avant et après comme sur l'image. Plus; L'instance LocalDB a démarré avec succès.

localdb2.png

Je me suis déconnecté et j'ai renommé mon nom d'utilisateur en original. Connecté à nouveau et sauté dans ce dossier:

C:\Users\MYUSERNAME\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

Et vu les journaux d'erreurs; Accès refusé!

http://Pastebin.com/ASeJGqpw

Solution: Supprimez simplement tous les fichiers du dossier v11.0 . Donnez la permission d'écriture au dossier v11.0 . Si vous ne pouvez pas créer une autre instance, accordez une autorisation d'écriture au dossier Instances .

7
Nime Cloud

Vérifiez le journal des erreurs qui se trouve généralement sous le dossier %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0 vous donnera de grands indices.

Reconnectez-vous en tant que le compte administrateur (et non n administrateur), et démarrez une invite de commande avec Run As Administrator. Exécutez ensuite ceci:

sqllocaldb share v11.0 MyInstance

Vous souhaiterez peut-être ajouter explicitement votre compte Windows en tant qu'administrateur système sur cette instance si c'est un objectif. Donc:

sqllocaldb start MyInstance

Connectez-vous ensuite avec SQLCMD, Management Studio, qu'avez-vous, et exécutez:

CREATE LOGIN [Domain\Username] FROM WINDOWS;
EXEC sp_addsrvrolemember N'Domain\Username', N'sysadmin';

Reconnectez-vous maintenant en tant que compte Windows et vous devriez pouvoir démarrer cette instance en utilisant:

sqllocaldb start MyInstance

(Il peut déjà être démarré en fonction de votre O/S et de la façon dont vous avez changé de compte.)

Alors Domain\Username devrait pouvoir se connecter en utilisant SQLCMD, SSMS, etc. en utilisant (localdb)\.\MyInstance.

12
Aaron Bertrand

J'avais l'habitude d'avoir ce problème lorsque mon instance localdb et sql était installée avec un utilisateur différent de celui actuel (utilisateur de domaine), j'ai donc résolu ce problème en effaçant le dossier V11.0 et en collant les fichiers mdf et ldf de l'ancien chemin:

C:\Users\{inseryouroldusernamehere}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

J'espère que cela aide.

2
Jonathan Escobedo

Créez un fichier fix.bat, mettez-y le texte suivant:

net localgroup Administrators "%userdomain%\%username%" /add

net localgroup Users "%userdomain%\%username%" /add

sqllocaldb d test

rd /s/q "%localappdata%\Microsoft\Microsoft SQL Server LocalDB\Instances\test"

sqllocaldb c test -s

Courir fix.bat en tant qu'administrateur, puis redémarrez votre ordinateur. Courir fix.bat encore.

J'ai utilisé cette méthode pour résoudre ce problème plus de 10 fois.

1
user104430

J'ai ouvert services.msc et redémarré les services suivants:

  • Navigateur de serveur SQL
  • Sql Server VSS Writer

J'espère que cela aide

1
Christian Rodriguez

Je l'ai eu une fois et un simple redémarrage l'a résolu. Semble l'avoir résolu pour d'autres personnes aussi . Peut-être la peine d'essayer avant de faire Nime & Aarons réponses

1
Robert MacLean

Si vous ne disposez d'aucune information réelle dans l'instance localdb, vous pouvez simplement la supprimer. C'est un bon choix si votre base de données est automatiquement initialisée (en utilisant EF DbInitializer ou des migrations, etc.).

Voici ce que j'ai fait pour résoudre le problème:

  • Ouvrir une fenêtre d'invite de commandes
  • Exécutez sqllocaldb delete ****, où **** est soit vide pour l'instance par défaut (généralement MSSqlLocalDb ou l'instance gênante
  • Exécutez sqllocaldb create ****
  • Exécutez sqllocaldb start ****

Cela a fonctionné pour moi, mais faites-le à vos risques et périls et assurez-vous de vérifier que vous n'avez pas de données précieuses dans cette instance, et assurez-vous d'effectuer les actions sur la bonne instance.

0
Shimmy

Je poste ceci ici car cette question est actuellement plus élevée dans les résultats de recherche Google que les autres. Dans mon cas, LocalDB n'a pas pu être démarré à partir d'IIS. J'ai suivi le this SO suggestion du commentaire pour modifier C:\Windows\System32\inetsrv\config\applicationHost.config pour ajouter setProfileEnvironment = "true" au pool d'applications comme décrit dans tilisation de LocalDB avec Full IIS, Partie 1: Profil utilisateur . J'ai en fait changé l'attribut setProfileEnvironment de processModel de applicationPoolDefaults sur true et cela a fonctionné également, ce qui pourrait être mieux, vous n'avez donc pas besoin de vous souvenir de faites-le pour chaque nouveau pool d'applications.

0
csrowell