Não é possível iniciar a instância do SqlLocalDB com minha conta do Windows


11

Sou o administrador e simplesmente execute o 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.

Log do Visualizador de Eventos ID do Evento: 528

A chamada da API do Windows WaitForMultipleObjects retornou o código de erro: 575. A mensagem de erro do sistema Windows é: {Erro no aplicativo} O aplicativo não pôde iniciar corretamente (0x% lx). Clique em OK para fechar o aplicativo. Relatado na linha: 3621.

Tentei outras contas (de usuário e administrador), não houve problemas com elas.

Desinstalei e reinstalei a versão 2012 do SQLLocalDB.msi, mas não tive sorte. Você tem alguma idéia e correção?


O Visual Studio teve problemas ao iniciar meu projeto e vi o mesmo erro no log de eventos. Corrigido executando sqllocaldb start v11.0.
Andre Luus

Respostas:


12

Verifique o log de erros, que geralmente sob a pasta %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0fornecerá grandes dicas.

Volta Efetue login como a conta de administrador (não um administrador), e iniciar o prompt um comando com Run As Administrator. Em seguida, execute o seguinte:

sqllocaldb share v11.0 MyInstance

Convém adicionar explicitamente sua conta do Windows como administrador de sistemas nesta instância, se esse for um objetivo. Assim:

sqllocaldb start MyInstance

Em seguida, conecte-se ao SQLCMD, Management Studio, o que você tem e execute:

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

Agora faça login novamente como sua conta do Windows e você poderá iniciar esta instância usando:

sqllocaldb start MyInstance

(Ele já pode ser iniciado, dependendo do seu sistema operacional e de como você trocou de conta.)

Em seguida, Domain\Usernamedeve ser capaz de se conectar usando SQLCMD, SSMS etc. usando (localdb)\.\MyInstance.


1
Esta é uma boa solução alternativa, mas não pode explicar e resolver o problema.
Nime Cloud

1
@NimeCloud hum, ok, talvez alguém venha com uma "correção" melhor. <shrug>
Aaron Bertrand

Isso funcionou para mim. Ele estava relacionado à instância original em que o usuário específico não tem mais concessões e, estranhamente, não pode dar acesso, não importa o que você faça. A instância compartilhada foi tratada como uma identidade separada e, portanto, recebeu um novo começo, onde o aplicativo agora pode se conectar como antes.
Jon P

7

Saí e depois entrei como outro administrador e renomeei o nome da pasta do meu perfil de usuário. Eu mudei para minha conta no Windows 7. Há uma pasta TEMP recém-criada como minha pasta de perfil de usuário. Comparei antes e depois da estrutura da pasta, como na figura. Mais; Instância LocalDB iniciada com sucesso.

localdb2.png

Saí e renomeei meu nome de usuário para original. Registrado novamente e pulou nessa pasta:

C: \ Usuários \ MYUSERNAME \ AppData \ Local \ Microsoft \ Banco de Dados Local do Microsoft SQL Server \ Instances \ v11.0

E viu os logs de erro; Acesso negado!

http://pastebin.com/ASeJGqpw

Solução: Simplesmente exclua todos os arquivos da pasta v11.0 . Dê permissão de gravação para a pasta v11.0 . Se você não pode criar outra instância, dê permissão de gravação para a pasta Instâncias .


1
Excluiu a pasta v11.0. Em seguida, emitido sqllocaldb.exe c v11.0para recriá-lo (na linha de comando do desenvolvedor do VS2013, elevada). Isso resolveu.
cheesus diz mods parar de disparar

2

Eu costumava ter esse problema quando minha instância localdb e sql era instalada com um usuário diferente do atual (usuário do domínio), por isso resolvi limpando a pasta V11.0 e colando os arquivos mdf e ldf do caminho antigo:

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

Espero que ajude.



1

Abri services.msc e reiniciei os seguintes serviços:

  • Sql Server Browser
  • Gravador VSS do SQL Server

Espero que ajude


1

Crie um arquivo fix.bat, coloque o seguinte texto:

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

Execute fix.batcomo administrador e reinicie o computador. Corra fix.batnovamente.

Eu usei esse método para resolver esse problema mais de 10 vezes.


0

Estou postando isso aqui, pois atualmente essa pergunta é mais alta nos resultados de pesquisa do Google do que outros. No meu caso, o LocalDB não pôde ser iniciado no IIS. Segui a sugestão deste comentário do SO de modificar C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config para adicionar setProfileEnvironment = "true" ao pool de aplicativos, conforme descrito em Usando o LocalDB com IIS completo, Parte 1: perfil do usuário . Na verdade, mudei o atributo setProfileEnvironment do processModel do applicationPoolDefaults para true e funcionou tão bem que pode ser melhor para que você não precise se lembrar de fazer isso para cada novo pool de aplicativos.


0

Se você não possui nenhuma informação real na instância localdb, pode simplesmente excluí-la. Essa é uma boa opção se seu banco de dados for inicializado automaticamente (usando EF DbInitializerou migrações etc.).

Aqui está o que eu fiz para resolver o problema:

  • Abra uma janela do prompt de comando
  • Execute sqllocaldb delete ****, onde ****está em branco a instância padrão (geralmente MSSqlLocalDbou a instância problemática
  • Executar sqllocaldb create ****
  • Executar sqllocaldb start ****

Isso funcionou para mim, mas faça isso por seu próprio risco e verifique se você não possui dados valiosos nessa instância e assegure-se de executar as ações na instância correta.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.