Como se conectar ao LocalDB no Visual Studio Server Explorer?

Não posso acreditar que não consegui encontrar uma solução funcional depois de uma hora de pesquisa. Estou seguindo este artigo no Entity Framework 6.0, que fornece uma explicação simples sobre o Code First. Eu criei o projeto e instalei o pacote EF Nuget mais recente para o projeto compilar. Também verifiquei que tenho o Microsoft SQL Server 2012 Express LocalDB instalado que veio com o Visual Studio 2013. Não tenho outras instâncias do SQL instaladas no meu computador local. O programa é executado e as inputs são adicionadas ao database e exibidas no console. Mas quando o artigo diz “cheque seu localdb” ele não diz como! Não vejo nenhum arquivo ‘.mdf’ ou ‘.ldf’ criado na pasta do projeto. Eu tentei de todas as maneiras conectar o Server Explorer do Visual Studio ao LocalDB. O assistente não pode localizar (localdb) ou não pode encontrar nenhum provedor no Server Explorer para aceitar a cadeia de conexão como (localdb)\v11.0;Integrated Security=true; Eu vi isso solicitado vários lugares no StackOverflow, mas nenhuma resposta funciona ou marcado como resposta. Por favor, ajude, isso não tem que ser tão frustrante!

Quais são as etapas para conectar o Visual Studio Server Explorer ao LocalDB?

OK, respondendo a minha própria pergunta.

Etapas para conectar o LocalDB ao Visual Studio Server Explorer

  1. Abra o prompt de comando
  2. Executar SqlLocalDB.exe start v11.0
  3. Executar SqlLocalDB.exe info v11.0
  4. Copie o nome do pipe da instância que começa com np: \ …
  5. No Visual Studio, selecione TOOLS> Conectar ao Banco de Dados …
  6. Para Nome do Servidor, insira (localdb)\v11.0 . Se não funcionou, use o nome do pipe da instância que você copiou anteriormente. Você também pode usar isso para se conectar ao SQL Management Studio.
  7. Selecione o database na próxima lista suspensa
  8. Clique OK

insira a descrição da imagem aqui

No Visual Studio 2012, tudo o que precisei fazer foi digitar:

 (localdb)\v11.0 

O Visual Studio 2015 e o Visual Studio 2017 foram alterados para:

 (localdb)\MSSQLLocalDB 

como o nome do servidor ao adicionar uma fonte de Microsoft SQL Server Data em:

 View/Server Explorer/(Right click) Data Connections/Add Connection 

e, em seguida, os nomes do database foram preenchidos. Eu não precisei fazer todas as outras etapas na resposta aceita, embora seria bom se o nome do servidor estivesse disponível automaticamente na checkbox de combinação do nome do servidor.

Você também pode procurar os nomes de bancos de dados do LocalDB disponíveis em sua máquina usando:

 View/SQL Server Object Explorer. 

Selecione em:

  1. Fonte de dados: Microsoft SQL Server (SqlClient)
  2. Nome do servidor: (localdb)\MSSQLLocalDB
  3. Faça logon no servidor: Use Windows Authentication

Pressione o botão Atualizar para obter o nome do database 🙂

Screenshot

Isso funcionou para mim.

  1. Abra o prompt de comando
  2. Executar “início SqlLocalDB.exe”
  3. Resposta do sistema “Instância do LocalDB” mssqllocaldb “started”.
  4. Em VS, View / Server Explorer / (clique direito) Conexões de dados / Adicionar conexão
    • Fonte de dados: Microsoft SQL Server (SqlClient)
    • Nome do servidor: (localdb) \ MSSQLLocalDB
    • Faça logon no servidor: use a autenticação do Windows
  5. Pressione “Conexão de teste” e depois OK.

O seguinte funciona com o Visual Studio 2017 Community Edition no Windows 10 usando o SQLServer Express 2016.

Abra uma verificação do PowerShell como ela é chamada usando SqlLocalDB.exe info e se ela está em execução com o SqlLocalDB.exe info NAME . Aqui está o que parece na minha máquina:

 > SqlLocalDB.exe info MSSQLLocalDB > SqlLocalDB.exe info MSSQLLocalDB Name: mssqllocaldb Version: 13.0.1601.5 Shared name: Owner: DESKTOP-I4H3E09\simon Auto-create: Yes State: Running Last start time: 4/12/2017 8:24:36 AM Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query > 

Se ele não estiver em execução, será necessário iniciá-lo com o SqlLocalDB.exe start MSSQLLocalDB . Quando está em execução, você vê o Instance pipe name: da Instance pipe name: que começa com np:\\ . Copie essa cadeia de pipe nomeado. No VS2017, abra a exibição Server Explorer e crie uma nova conexão do tipo Microsoft SQL Server (SqlClient) (não se deixe enganar pelos outros tipos de arquivo que você deseja que seja o tipo de conexão completa) e defina o Server name: do Server name: nome que você copiou do PowerShell.

Eu também configurei o Connect to database como o mesmo database que estava na cadeia de conexão que estava trabalhando no meu projeto Dotnet Core / Entity Framework Core que foi configurado usando a dotnet ef database update .

Você pode efetuar login e criar um database usando o sqlcmd e a cadeia de pipe nomeada:

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

Há instruções sobre como criar um usuário para seu aplicativo em https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility

Visual Studio 2015 RC, tem LocalDb 12 instalado, instruções semelhantes a antes, mas ainda não deveria ser necessário saber ‘mágica’, antes de usar, a instância padrão deveria ter sido ativada … Rant complete, no for solution :

 cmd> sqllocaldb start 

Qual será exibido

 LocalDB instance "MSSQLLocalDB" started. 

O nome da sua instância pode ser diferente. De qualquer maneira, abra o VS Server e abra o Server Explorer, clique com o botão direito do mouse em Data Connections, escolha Add, escolha SQL Server, no tipo de nome do servidor:

 (localdb)\MSSQLLocalDB 

Sem inserir um nome de database, clique em “Testar conexão”.

Use o SSOX (SQL Server Object Explorer)

Ao contrário das outras respostas, esta abordagem usa:
– Nenhum comando especial.
– Nenhuma configuração complicada.
Basta usar o Pesquisador de Objetos do SQL Server

É bem direto …

  • No menu Exibir , abra o Gerenciador de Objetos do SQL Server .

1

  • Clique com o botão direito do mouse na tabela {YourTableName} > View Designer

dois

Feito.

Correção não funciona.

Exatamente como na ilustração de exemplo, todas essas etapas fornecem apenas access a bancos de dados de “sistema” e nenhuma opção para selecionar os bancos de dados de usuários existentes que você deseja acessar.

A solução para acessar uma instância do servidor Microsoft SQL local (não Express Edition) reside no lado do SQL Server:

  1. Abra a checkbox de diálogo Executar (WinKey + R)
  2. Tipo: “services.msc”
  3. Selecione o navegador do SQL Server
  4. Clique em Propriedades
  5. Alterar “desativado” para “Manual” ou “Automático”
  6. Quando o botão “Iniciar” for ativado, clique nele.

Feito! Agora você pode selecionar seu SQL Server local na lista Server Name em Connection Properties.

Execute o CMD como admin.

  1. a partir do menu Iniciar ‘cmd’ – espere até encontrá-lo.
  2. Clique com o botão direito no cmd e selecione aberto como administrador
  3. tipo: cd C: \ Arquivos de Programas \ Microsoft SQL Server \ 120 \ Tools \ Binn
  4. type: SqlLocalDB start
  5. agora digite: SqlLocalDB info
  6. Mostra as instâncias do sql em execução disponíveis … escolha o que você deseja …
  7. para saber mais sobre o tipo de instância: SqlLocalDB info instanceName

  8. Agora você pode configurar sua conexão no VS, View / Server Explorer / (Clique com o botão direito) Data Connections / Add Connection Data Source: Microsoft SQL Server (SqlClient) Nome do servidor: (localdb) \ MSSQLLocalDB Efetue logon no servidor: Use o Windows Autenticação Pressione “Test Connection” e depois OK.

  9. tarefa concluída

A maneira mais rápida no Visual Studio 2017 é ir para Ferramentas -> SQL Server -> Nova consulta. Escolha entre Bancos de dados locais e escolha o nome do database desejado na parte inferior.

Caminho alternativo

O nome do servidor do Visual Studio 2017 é:

 (localdb)\MSSQLLocalDB 

Adicione a nova conexão usando o menu Ferramentas -> Conectar ao database …

Eu segui as etapas acima, mas esqueci de instalar o SQL Server 2014 LocalDB antes da configuração do Visual Studio 2015.

Meus passos são os seguintes:

  1. Instale o SQL Server 2014 LocalDB;
  2. Abra o Visual Studio 2015 e, em seguida, o Explorador de Objetos do SQL Server ;
  3. Encontre seu LocalDB sob a marca do SQL Server.

Espero que isso ajude alguém.

Cenário: Windows 8.1, VS2013 Ultimate, SQL Express instalado e em execução, navegador do SQL Server desativado. Isso funcionou para mim:

  1. Primeiro eu habilitei o SQL Server Browser em serviços.
  2. No Visual Studio: Abra o Console do Gerenciador de Pacotes e digite: Enable-Migrations ; Em seguida, digite Enable-Migrations -ContextTypeName YourContextDbName que criou a pasta Migrations no VS.
  3. Dentro da pasta Migrations, você encontrará o arquivo “Configuration.cs” e ativará as migrações automáticas: AutomaticMigrationsEnabled = true;
  4. Execute seu aplicativo novamente, o ambiente cria um DefaultConnection e você verá as novas tabelas do seu contexto. Esta nova conexão aponta para o localdb. A cadeia de conexão criada mostra: Data Source = (LocalDb) \ v11.0 … (mais parâmetros e caminho para o arquivo mdf criado)

Agora você pode criar uma nova conexão com o nome do servidor: (LocalDb) \ v11.0 (atualização rápida) Conectar a um database: Selecione seu novo database na lista suspensa.

Espero que ajude.

Com o SQL Server 2017 e o Visual Studio 2015, usei localhost\SQLEXPRESS

insira a descrição da imagem aqui