Как подключиться к LocalDB в Обозревателе серверов Visual Studio?


Я не могу поверить, что я не мог найти рабочее решение для этого через час поисков. Я следую в этой статье на Entity Framework 6.0, который сначала дает простой проход по коду. Я создал проект и установил последнюю версию пакет EF Nuget для компиляции проекта. Я также проверил, что у меня установлен Microsoft SQL Server 2012 Express LocalDB, который поставляется с Visual Studio 2013. У меня нет других экземпляров SQL, установленных на моем локальный компьютер. Программа запускается и записи добавляются в базу данных и выводятся в консоли. Но когда в статье говорится "проверьте свой localdb", он не говорит, как! Я ничего не вижу".МДФ или.LDF-файлы, созданные в папке проекта. Я пробовал каждый способ подключения обозревателя серверов Visual Studio к LocalDB. Мастер не может найти (localdb) или не удается найти поставщика в Обозревателе серверов, чтобы принять строку подключения, например (localdb)v11.0;Integrated Security=true; Я видел это спросил несколько мест в StackOverflow но нет ответ работает или помечен как ответ. Пожалуйста, помогите, это не должно быть так расстраивает!

какие шаги необходимо выполнить для подключения Visual Studio Server Explorer к LocalDB?

13 197

13 ответов:

хорошо, отвечая на мой собственный вопрос.

шаги для подключения LocalDB к Visual Studio Server Explorer

  1. открыть командную строку
  2. выполнить SqlLocalDB.exe start v11.0
  3. выполнить SqlLocalDB.exe info v11.0
  4. скопировать имя канала экземпляра это начинается с np:\...
  5. в Visual Studio выберите сервис > подключиться к базе данных...
  6. для имени сервера введите (localdb)\v11.0. Если это не сработало, используйте имя канала экземпляра что вы скопировали ранее. Вы также можете использовать это для подключения к среде SQL Management Studio.
  7. выберите базу данных в следующем выпадающем списке
  8. Нажмите кнопку ОК

enter image description here

на Visual Studio 2012 все, что мне нужно было сделать, это ввести:

(localdb)\v11.0

Visual Studio 2015 и Visual Studio 2017 изменен на:

(localdb)\MSSQLLocalDB

как имя сервера при добавлении Microsoft SQL Server Data источник:

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

и затем имена баз данных были заполнены. Мне не нужно было делать все остальные шаги в принятом ответе, хотя было бы неплохо, если бы имя сервера было доступно автоматически в имени сервера выпадающий список.

вы также можете просматривать имена баз данных LocalDB, доступные на вашем компьютере, используя:

View/SQL Server Object Explorer.

выбрать в :

  1. Источник: Microsoft SQL Server (SqlClient)
  2. имя сервера: (localdb)\MSSQLLocalDB
  3. вход на сервер: Use Windows Authentication

Нажмите кнопку Обновить, чтобы получить имя базы данных:)

Screenshot

Это сработало для меня.

  1. открыть командную строку
  2. Run " SqlLocalDB.ехе запустить"
  3. системный ответ "экземпляр LocalDB "mssqllocaldb" запущен."
  4. В VS, View / Server Explorer / (щелкните правой кнопкой мыши) подключения к данным / добавить соединение
    • источник данных: Microsoft SQL Server (SqlClient)
    • имя сервера: (localdb)\MSSQLLocalDB
    • вход на сервер: используйте проверку подлинности Windows
  5. нажмите "Проверить соединение", затем OK.

следующее работает с Visual Studio 2017 Community Edition в Windows 10 с помощью SQLServer Express 2016.

откройте PowerShell проверить, что он называется с помощью SqlLocalDB.exe info и работает ли он с SqlLocalDB.exe info NAME. Вот как это выглядит на моей машине:

> 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
>

если он не работает, то вам нужно запустить его с SqlLocalDB.exe start MSSQLLocalDB. Когда он работает, вы видите Instance pipe name: начинается с np:\. Скопируйте эту строку именованного канала. В рамках VS2017 откройте вид Server Explorer и создать новое подключение типа Microsoft SQL Server (SqlClient) (Не обманывайте себя другими типами файлов, которые вы хотите тип соединения full fat) и установите Server name: имя канала экземпляра, скопированное из PowerShell.

я тоже поставил Connect to database чтобы быть той же базой данных, которая была в строке подключения, которая работала в моем dotnet Core / Entity Framework Core project, который был настроен с помощью dotnet ef database update.

вы можете войти в систему и создать базу данных с помощью sqlcmd и строка именованной трубы:

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

есть инструкции о том, как создать пользователя для вашего приложения на https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility

использовать Обозреватель объектов SQL Server (SSOX) вместо

в отличие от других ответов, этот подход использует:
- Никаких особых команд.
- Никаких сложных конфигураций.
Просто используйте Обозреватель объектов SQL Server

это довольно просто...

  • С посмотреть, открытого объект SQL Server Исследователь.

one

  • щелкните правой кнопкой мыши {YourTableName} "таблица"> Конструктор

two

сделано.

Visual Studio 2015 RC, имеет LocalDb 12 установлен, аналогичные инструкции до этого, но все еще не должны быть обязаны знать "магия", прежде чем использовать это, экземпляр по умолчанию должен быть включен ... Разглагольствовать полный, нет для решения:

cmd> sqllocaldb start

, который будет отображать

LocalDB instance "MSSQLLocalDB" started.

код экземпляр название может отличаться. В любом случае перейдите к VS и откройте Обозреватель серверов, щелкните правой кнопкой мыши подключения к данным, выберите Добавить, выберите SQL Server, на сервере тип имени:

(localdb)\MSSQLLocalDB

не вводя имя БД, нажмите кнопку "проверить соединение".

исправление не работает.

точно так же, как в Примере иллюстрации, все эти шаги предоставляют доступ только к "системным" базам данных и не позволяют выбрать существующие пользовательские базы данных, к которым вы хотите получить доступ.

решение для доступа к локальному (не Express Edition) экземпляру Microsoft SQL server находится на стороне SQL Server:

  1. откройте диалоговое окно Выполнить (WinKey + R)
  2. типа: "услуги.msc"
  3. выберите SQL Server Браузер
  4. Выберите Свойства
  5. изменить " отключено "на" ручной "или"автоматический"
  6. когда кнопка" Пуск " службы получает включить, нажмите на нее.

готово! Теперь вы можете выбрать свой локальный SQL Server из списка имя сервера в свойствах подключения.

запустите CMD от имени администратора.

  1. из меню "Пуск" cmd-подождите, пока он его найдет.
  2. щелкните правой кнопкой мыши на cmd и выберите Открыть как администратор
  3. тип: cd C:\Program файлы\Microsoft SQL Server\120 \ Tools\Binn
  4. тип: sqllocaldb start
  5. Теперь введите: SqlLocalDB info
  6. показывает доступные запущенные экземпляры sql... выбирай, что хочешь...
  7. чтобы узнать больше об экземпляре тип : SqlLocalDB информация имя_экземпляра

  8. теперь из VS вы можете настроить свое соединение В VS, View / Server Explorer / (щелкните правой кнопкой мыши) подключения к данным / добавить соединение Источник данных: Microsoft SQL Server (SqlClient) Имя сервера: (localdb)\MSSQLLocalDB Вход на сервер: используйте проверку подлинности Windows Нажмите кнопку "проверить соединение", затем OK.

  9. работу

самый быстрый способ в Visual Studio 2017-перейти в сервис - > SQL Server - > новый запрос.. Выберите из локальных баз данных и выберите нужное имя базы данных в нижней части.

альтернативный способ

имя сервера Visual Studio 2017:

(localdb)\MSSQLLocalDB

добавить новое соединение с помощью меню Сервис - > подключение к базе данных...

Я выполнил описанные выше действия, но забыл установить SQL Server 2014 LocalDB перед конфигурацией Visual Studio 2015.

мои шаги следующие:

  1. установите SQL Server 2014 LocalDB;
  2. откройте Visual Studio 2015, а потом Обозреватель объектов SQL Server;
  3. найдите LocalDB под тегом SQL Server.

надеюсь, что это поможет кто-нибудь.

сценарий: Windows 8.1, VS2013 Ultimate, SQL Express установлен и запущен, браузер SQL Server отключен. Это сработало для меня:

  1. сначала я включил браузер SQL Server в разделе Службы.
  2. В Visual Studio: Откройте консоль диспетчера пакетов и введите: Enable-Migrations; Затем Введите Enable-Migrations-ContextTypeNameYourContextDbName это создало папку миграции в VS.
  3. внутри Папку миграции вы найдете в разделе " Конфигурация.cs " файл, включите автоматическую миграцию по: AutomaticMigrationsEnabled = true;
  4. запустите приложение снова, среда создает DefaultConnection и вы увидите новые таблицы из вашего контекста. Это новое соединение указывает на экземпляр. Созданная строка подключения показывает: источник данных=(LocalDb)\v11.0 ... (дополнительные параметры и путь к созданному файлу МДФ)

теперь вы можете создать новое соединение с Имя сервера: (LocalDb)\v11. 0 (нажмите Обновить) Подключение к базе данных: выберите новую базу данных в раскрывающемся списке.

Я надеюсь, что это помогает.

С SQL Server 2017 и Visual Studio 2015 я использовал localhost\SQLEXPRESS

enter image description here