Impossibile avviare l'istanza SqlLocalDB con il mio account di Windows


11

Sono l'amministratore ed eseguo semplicemente il comando:

 sqllocaldb start v11.0

Risultato:

 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.

Registro visualizzatore eventi ID evento: 528

La chiamata API Windows WaitForMultipleObjects ha restituito il codice di errore: 575. Il messaggio di errore del sistema Windows è: {Errore applicazione} Impossibile avviare correttamente l'applicazione (0x% lx). Fare clic su OK per chiudere l'applicazione. Segnalato alla riga: 3621.

Ho provato un altro account (utente e amministratore), non ci sono stati problemi con loro.

Ho disinstallato e reinstallato la versione 2012 di SQLLocalDB.msi ma non ho avuto fortuna. Hai qualche idea e soluzione?


Visual Studio ha riscontrato problemi durante l'avvio del mio progetto e ho riscontrato lo stesso errore nel registro eventi. Risolto correndo sqllocaldb start v11.0.
Andre Luus,

Risposte:


12

Controlla il registro degli errori che di solito sotto la cartella %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0ti darà grandi suggerimenti.

Di nuovo il login come l' account di amministratore (non un amministratore), e avviare un prompt dei comandi con Run As Administrator. Quindi esegui questo:

sqllocaldb share v11.0 MyInstance

Potresti voler aggiungere esplicitamente il tuo account Windows come amministratore di sistema su questa istanza se questo è un obiettivo. Così:

sqllocaldb start MyInstance

Quindi connettiti con SQLCMD, Management Studio, cosa hai ed esegui:

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

Ora accedi di nuovo come account Windows e dovresti essere in grado di avviare questa istanza utilizzando:

sqllocaldb start MyInstance

(Potrebbe già essere avviato a seconda del tuo sistema operativo e di come hai cambiato account.)

Quindi Domain\Usernamedovrebbe essere in grado di connettersi utilizzando SQLCMD, SSMS ecc (localdb)\.\MyInstance. Utilizzando .


1
Questa è una buona soluzione ma non può spiegare e risolvere il problema.
Nime Cloud,

1
@NimeCloud um, ok, forse qualcun altro verrà con una "correzione" migliore. <shrug>
Aaron Bertrand

Questo ha funzionato per me. Era correlato all'istanza originale in cui l'utente specifico non ha più sovvenzioni e stranamente non può dare accesso a qualsiasi cosa tu faccia. L'istanza condivisa è stata trattata come identità separata, quindi è stato dato un "nuovo" inizio in cui l'app ora può connettersi come prima.
Jon P

7

Ho effettuato la disconnessione, quindi ho effettuato l'accesso come un altro amministratore e ho rinominato il nome della cartella del mio profilo utente. Ho cambiato il mio account in Windows 7. Esiste una cartella TEMP appena creata come cartella del mio profilo utente. Ho confrontato la struttura delle cartelle prima e dopo come in figura. Più; L'istanza di LocalDB è stata avviata correttamente.

localdb2.png

Ho disconnesso e rinominato il mio nome utente in originale. Registrato di nuovo e passato a quella cartella:

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

E ho visto i log degli errori; Accesso negato!

http://pastebin.com/ASeJGqpw

Soluzione: eliminare semplicemente tutti i file nella cartella v11.0 . Dai il permesso di scrittura alla cartella v11.0 . Se non è possibile creare un'altra istanza, concedere l'autorizzazione di scrittura alla cartella Istanze .


1
Eliminata la cartella v11.0. Quindi rilasciato sqllocaldb.exe c v11.0per ricrearlo (nella riga di comando dello sviluppatore VS2013, elevato). Questo ha risolto.
Cheesus dice di smettere di sparare mod il

2

Avevo questo problema quando la mia istanza localdb e sql era installata con un utente diverso rispetto all'attuale (utente di dominio), quindi ho risolto questo problema cancellando la cartella V11.0 e incollando i file mdf e ldf dal vecchio percorso:

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

Spero che sia d'aiuto.



1

Ho aperto services.msc e riavviato i seguenti servizi:

  • Browser SQL Server
  • Sql Server VSS Writer

Spero che sia d'aiuto


1

Crea un file fix.bat, inserisci il seguente testo:

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

Esegui fix.batcome amministratore, quindi riavvia il computer. Corri di fix.batnuovo.

Ho usato questo metodo per risolvere questo problema più di 10 volte.


0

Sto pubblicando questo qui poiché questa domanda è attualmente più alta nei risultati di ricerca di Google rispetto ad altri. Nel mio caso LocalDB non può essere avviato da IIS. Ho seguito il suggerimento di questo commento SO per modificare C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config per aggiungere setProfileEnvironment = "true" al pool di app come descritto in Uso di LocalDB con IIS completo, parte 1: Profilo utente . In realtà ho cambiato l'attributo setProfileEnvironment di processPoolDefaults dell'applicazionePoolDefaults in true e ha funzionato altrettanto bene, il che potrebbe essere migliore, quindi non è necessario ricordarsi di farlo per ogni nuovo pool di app.


0

Se non hai informazioni reali nell'istanza di localdb, puoi semplicemente eliminarle. Questa è una buona scelta se il tuo database viene inizializzato automaticamente (usando EF DbInitializero migrazioni ecc.).

Ecco cosa ho fatto per risolvere il problema:

  • Aprire una finestra del prompt dei comandi
  • Eseguire sqllocaldb delete ****, dove ****è vuoto per l'istanza predefinita (di solito MSSqlLocalDbo l'istanza problematica
  • Eseguire sqllocaldb create ****
  • Eseguire sqllocaldb start ****

Questo ha funzionato per me, ma fallo a tuo rischio e assicurati di ricontrollare che non hai dati preziosi in quell'istanza e assicurarti di eseguire le azioni sull'istanza corretta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.