поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server 2012 Express.

Я получал указанную ниже ошибку при попытке подключиться к моей базе данных SQLEXPRESS с помощью мастера создания базы данных EF.

Произошла ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server)

Я включил TCp / IP для SQLEXPRESS в соответствии с приведенным ниже вопросом.

Включить удаленные подключения для SQL Server Express 2012

Я только что включил настройки tcp / IP (не изменил IP2 и все остальное) и перезапустил процесс сервера sql.

После перезапуска службы мой сервер не определяется в диалоговом окне свойств подключения.

Почему это происходит? Что мне теперь делать?


person subs    schedule 18.02.2014    source источник
comment
У меня аналогичная проблема, просто пытаюсь запустить sqlcmd. Я выполнил действия, указанные в приведенной выше ссылке, следуя указаниям здесь, убедитесь, что браузер SQL запущен. Мне любопытно, можно ли запустить sqlcmd из cmd? Я также не вижу некоторых папок, таких как Login in Management Studio, которые должны были быть исправлены в SP1.   -  person yardpenalty.com    schedule 13.03.2014
comment
Можете ли вы хотя бы проверить подключение к данным в обозревателе серверов?   -  person yardpenalty.com    schedule 13.03.2014
comment
Кроме того, в поле «Подключения к данным» часто отображаются отключенные подключения, и все, что требуется - это обновить.   -  person yardpenalty.com    schedule 13.03.2014


Ответы (2)


Я только что столкнулся с этим, пытаясь установить соединение EF поздно ночью. Оказалось, я неправильно читал настройки подключения. Я помещал ТОЛЬКО имя серверного компьютера в поле «Имя сервера» и помещал имя экземпляра в поле «База данных».

«Имя сервера» должно быть (ИМЯ КОМПЬЮТЕРА) \ (ЭКЗЕМПЛЯР), а база данных должна быть фактическим именем базы данных.

Надеюсь, это решит вашу проблему!

person Red Nightingale    schedule 15.03.2014
comment
(instance) не был ясен, потому что он предварительно выбирает только (computername) без него. Спасибо за вашу помощь в этом, сэкономили мне много времени на устранение неполадок - person AJak; 10.05.2016

Сначала я бы попытался создать модель данных сущности (файл .edmx) из существующей базы данных, а затем создать новую (пустую) базу данных в VS2013 с помощью Server Explorer, если вы еще этого не сделали. Затем используйте мастер модели сущности данных для создания новых таблиц / схем из рабочей базы данных в пустую базу данных с помощью миграции. Если это не сработает, вы знаете, что ваша проблема, вероятно, существует с вашим экземпляром SQL Express, а не с тем, как вы настроили строки подключения для этого проекта.

Я пробовал эти шаги в проекте MVC 4 в VS2013, и у меня не было проблем, поэтому, возможно, вы также можете попробовать:

ШАГ 1. Создайте модель сущности даты из существующей базы данных. Щелкните правой кнопкой мыши "Имя решения" -> "Добавить новый элемент" -> Модель данных сущности ADO.NET Примечание. Снимите флажок "Сохранить строку подключения", потому что нам просто нужен образец модели ADO.NET при использовании существующей базы данных

ШАГ 2. Создайте новую базу данных из обозревателя серверов -> Подключения к данным -> Создать новую базу данных SQL Server (тестовое подключение)

ШАГ 3. Щелкните правой кнопкой мыши модель на диаграмме EDMX и выберите Создать базу данных из модели ...

ШАГ 4. Enable-Migrations, Add-Migration MigrationName, update-database из диспетчера консоли NuGet.

ПРИМЕЧАНИЕ. У вас будет две строки подключения, если вы планируете использовать аутентификацию "из коробки". Я также установил EF 6.0 из NuGet.

person yardpenalty.com    schedule 13.03.2014