No puedo iniciar la instancia de SqlLocalDB con mi cuenta de Windows

11

Soy el administrador y simplemente ejecuto el comando:

 sqllocaldb start v11.0

Resultado:

 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.

Visor de eventos log ID de evento: 528

La llamada de la API de Windows WaitForMultipleObjects devolvió el código de error: 575. El mensaje de error del sistema de Windows es: {Error de aplicación} La aplicación no pudo iniciarse correctamente (0x% lx). Haga clic en Aceptar para cerrar la aplicación. Informado en línea: 3621.

Intenté con otras cuentas (de usuario y administrador), no hubo problemas con ellas.

Desinstalé y reinstalé la versión 2012 de SQLLocalDB.msi pero no tuve suerte. ¿Tienes alguna idea y solución?

Nime Cloud
fuente
Visual Studio tuvo problemas para iniciar mi proyecto y vi el mismo error en el registro de eventos. Lo arregló corriendo sqllocaldb start v11.0.
Andre Luus

Respuestas:

12

Verifique el registro de errores que generalmente debajo de la carpeta %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0le dará grandes pistas.

Vuelva a iniciar sesión como la cuenta de administrador (no como administrador) e inicie un símbolo del sistema con Run As Administrator. Entonces ejecuta esto:

sqllocaldb share v11.0 MyInstance

Es posible que desee agregar explícitamente su cuenta de Windows como administrador del sistema en esta instancia si ese es un objetivo. Entonces:

sqllocaldb start MyInstance

Luego conéctese con SQLCMD, Management Studio, lo que tenga, y ejecute:

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

Ahora vuelva a iniciar sesión como su cuenta de Windows, y debería poder iniciar esta instancia con:

sqllocaldb start MyInstance

(Es posible que ya se haya iniciado dependiendo de su O / S y de cómo cambió de cuenta).

A continuación, Domain\Usernamedebería ser capaz de conectarse a través de SQLCMD, etc., utilizando SSMS (localdb)\.\MyInstance.

Aaron Bertrand
fuente
1
Esta es una buena solución pero no puede explicar y resolver el problema.
Nime Cloud
1
@NimeCloud um, ok, tal vez alguien más vendrá con una mejor "solución". <shrug>
Aaron Bertrand
Esto funcionó para mí. Estaba relacionado con la instancia original en la que el usuario específico ya no tiene concesiones y, extrañamente, no puede dar acceso a lo que haga. La instancia compartida se trató como una identidad separada, por lo que se le dio un comienzo "nuevo" donde la aplicación ahora puede conectarse como antes.
Jon P
7

Me desconecté y luego inicié sesión como otro administrador y cambié el nombre de mi carpeta de perfil de usuario. Cambié a mi cuenta en Windows 7. Hay una carpeta TEMP recién creada como mi carpeta de perfil de usuario. Comparé la estructura de carpetas antes y después como en la imagen. Más; La instancia de LocalDB se inició correctamente.

localdb2.png

Salí y cambié mi nombre de usuario a original. Registré nuevamente y salté a esa carpeta:

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

Y vio los registros de error; ¡Acceso denegado!

http://pastebin.com/ASeJGqpw

Solución: simplemente elimine todos los archivos de la carpeta v11.0 . Dar permiso de escritura a la carpeta v11.0 . Si no puede crear otra instancia, otorgue permiso de escritura a la carpeta Instancias .

Nime Cloud
fuente
1
Eliminó la carpeta v11.0. Luego emitido sqllocaldb.exe c v11.0para recrearlo (en la línea de comando del desarrollador VS2013, elevado). Esto lo resolvió.
Cheesus dice que deje de disparar mods
2

Solía ​​tener este problema cuando mi instancia de localdb y sql se instaló con un usuario diferente al actual (usuario de dominio), así que lo solucioné borrando la carpeta V11.0 y pegando los archivos mdf y ldf de la ruta anterior:

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

Espero eso ayude.

Jonathan Escobedo
fuente
1

Tuve esto una vez y un simple reinicio lo resolvió. Parece haberlo resuelto también para otras personas . Quizás valga la pena intentarlo antes de responder a Nime & Aarons

Robert MacLean
fuente
1

Abrí services.msc y reinicié los siguientes servicios:

  • Sql Server Browser
  • Servidor SQL VSS Writer

Espero eso ayude

Christian Rodriguez
fuente
1

Cree un archivo fix.bat, coloque el siguiente texto en él:

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

Ejecútelo fix.batcomo administrador y luego reinicie su computadora. Corre de fix.batnuevo.

He usado este método para resolver este problema más de 10 veces.

usuario104430
fuente
0

Estoy publicando esto aquí, ya que esta pregunta es actualmente más alta en los resultados de búsqueda de Google que otras. En mi caso, LocalDB no se pudo iniciar desde IIS. Seguí la sugerencia de este comentario SO para modificar C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config para agregar setProfileEnvironment = "true" al grupo de aplicaciones como se describe en Uso de LocalDB con Full IIS, Parte 1: Perfil de usuario . De hecho, cambié el atributo setProfileEnvironment de applicationPoolDefaults's processModel a verdadero y funcionó también, lo que podría ser mejor, por lo que no es necesario que recuerde hacerlo para cada nuevo grupo de aplicaciones.

csrowell
fuente
0

Si no tiene ninguna información real en la instancia de localdb, simplemente puede eliminarla. Esta es una buena opción si su base de datos se inicializa automáticamente (usando EF DbInitializero migraciones, etc.).

Esto es lo que hice para resolver el problema:

  • Abrir una ventana de símbolo del sistema
  • Ejecutar sqllocaldb delete ****, donde ****está en blanco para la instancia predeterminada (generalmente MSSqlLocalDbo la instancia problemática
  • Ejecutar sqllocaldb create ****
  • Ejecutar sqllocaldb start ****

Esto funcionó para mí, pero haga esto bajo su propio riesgo y asegúrese de verificar que no tenga datos valiosos en esa instancia, y asegúrese de realizar las acciones en la instancia correcta.

Camisa
fuente