Подтвердить что ты не робот

Соединение HeidiSql с MS SQL Server LocalDB

Я тщетно пытался подключиться к моей базе данных SQL Server, прикрепленной к экземпляру LocalDB (localdb)\v11.0, используя HeidiSql и проверку подлинности Windows.

Мое тестирование показало, что HeidiSql может подключаться к постоянно установленным экземплярам MSSQLSERVER и SQLEXPRESS следующим образом:

MSSQLSERVER:

  • SQL Server: (named pipe)
  • Имя хоста /IP:.
  • Использовать проверку подлинности Windows

SQLEXPRESS:

  • SQL Server: (named pipe)
  • Имя хоста /IP.\SQLEXPRESS
  • Использовать проверку подлинности Windows

Соединение LocalDB оказывается неуловимым.

Мое чтение ситуации предполагает, что экземпляр LocalDB является чем-то вроде phantom, созданным Visual Studio и SQL Server Management Studio по мере необходимости. Они не сохраняются или не существуют, когда эти программы не работают. Когда они запущены, доступ к ним скрыт в этих программах и недоступен для других приложений.

Я знаю, что могу переключиться на MSSQLSERVER или SQLEXPRESS в качестве стандартного сервера базы данных для своих приложений Visual Studio, но мне интересно узнать, существует ли путь для подключения к HeidiSql экземпляру LocalDB.

4b9b3361

Ответ 1

Он может работать, но сложно. Вы должны использовать LocalDB named pipe как имя хоста Heidi. Использование LocalDB V12, например:

sqllocaldb info
sqllocaldb start MSSQLLocalDB
sqllocaldb info MSSQLLocalDB

Параметр "info" показывает:

\\.\pipe\LOCALDB#12345678\tsql\query

Обратите внимание, что число представляет собой случайный хеш, что усложняет ситуацию, так как вам нужно постоянно его проверять. Это возможно для пакета / script выше, с параметрами командной строки Heidi .

Моя командная строка:

heidisql -d=LocalDB -h=%pipename% -n=3 -d=LocalDB

Параметр -d используется дважды намеренно.

Ответ 2

Для обычных экземпляров SQL Server, а не для экземпляров LocalDB:

Я понимаю, что этот вопрос задает вопрос о локальном db; однако этот результат возник, когда я оглядывался, и этот ответ помог мне.

В окне поиска Windows (нажмите ввод и введите для поиска) введите "менеджер конфигурации SQL Server". Откройте это, но убедитесь, что вы не открываете "менеджер конфигурации серверов основных данных SQL Server", что неверно. Для меня, в первый раз, когда мне приходилось выглядеть, это было мало в результатах в "приложениях".

Затем нажмите "Конфигурация сети SQL Server".

Если это не получается, вы можете вручную открыть файл. См.: https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager

Для меня это на "C:\Windows\SysWOW64\SQLServerManager13.msc"

Дважды щелкните "Протоколы для [вашего экземпляра здесь]"

Чтобы получить доступ к подключению, используя что-то помимо SSMS, вам нужно будет выбрать именованный канал или TCP/IP.

TCP/IP

Щелкните правой кнопкой мыши "TCP/IP" и выберите свойства

Измените "Включено" на true

Измените IP4 (или тот, у кого есть 127.0.0.1 как IP-адрес).

Нажмите "Ok".

Перейти к перезапуску

Именованная труба

Щелкните правой кнопкой мыши "Именованные каналы" и выберите "Свойства"

Измените "Включено" на true

Скопируйте "Имя трубы" и используйте это позже в клиенте базы данных

Перейти к перезапуску

Перезапуск

Как вы предупреждаете, вам нужно перезапустить службу, поэтому нажмите "Службы SQL Server" слева.

Щелкните правой кнопкой мыши "SQL Server ([ваше имя экземпляра]" и нажмите "Перезапустить"

Теперь вы можете использовать клиента базы данных для просмотра экземпляра SQL-сервера. В heidi вы просто выбираете тип сети, который соответствует вашей настройке - выберите "Использовать проверку подлинности Windows" и заполните имя/IP-адрес appripriate (имя канала или ip в зависимости от того, какой метод вы выбрали)