Почему я получаю сообщение "Не удается подключиться к серверу - ошибка, связанная с сетью или экземпляром"?

Я получаю следующую ошибку при попытке подключения к SQL Server:

Не удается подключиться к 108.163.224.173.

При установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.

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

(поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 1326)

Эта ошибка выдается, когда я пытаюсь настроить свою базу данных для gridview в Visual Studio 2010. Я не знаю, как отладить эту ошибку.

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

59 ответов

Я нашел следующие методы полезными:

  1. Убедитесь, что ядро ​​базы данных настроено на прием удаленных подключений:

    • Пуск> Все программы> SQL Server 2005 > Инструменты настройки> Настройка контактной зоны SQL Server
    • Нажмите на Конфигурация поверхности для сервисов и подключений.
    • Выберите экземпляр, в котором возникла проблема> Компонент Database Engine> Удаленные подключения
    • Включить локальные и удаленные подключения
    • Перезапустить экземпляр
  2. Вам может потребоваться создать исключение в брандмауэре для используемого экземпляра SQL Server и порта:

    • Пуск> Выполнить> Firewall.cpl
    • Нажмите на вкладку исключений
    • Добавить sqlservr.exe (обычно находится в C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, проверьте ваши установки на фактический путь к папке) и порт (по умолчанию 1433)
    • Проверьте также строку подключения
  3. Проверьте, правильно ли работают службы SQL-сервера:

    • Выберите Все программы> Microsoft SQL Server 2008 > Инструменты настройки> Диспетчер конфигурации SQL Server> Службы SQL Server
    • Убедитесь, что статус службы SQL Server запущен.

    Кроме того, убедитесь, что ваш удаленный сервер находится в той же сети. Бежать sqlcmd -L чтобы убедиться, что ваш сервер включен в список вашей сети.

  4. Включить TCP/IP в конфигурации SQL Server

    Когда два или более SQL-сервера соединены через сеть, они осуществляют все коммуникации, используя TCP/IP. Порт по умолчанию для установки SQL Server - 1433. Этот порт можно изменить с помощью диспетчера конфигурации SQL Server. TCP/IP должен быть включен для подключения к SQL Server.

    • Выберите Все программы >> Microsoft SQL Server 2008 >> Средства настройки >> Диспетчер конфигурации SQL Server >> Выберите TCP/IP
    • Щелкните правой кнопкой мыши на TCP/IP >> Нажмите Включить

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

Добавляю свой сильно одобренный комментарий как ответ со скриншотами.

Я потратил много времени на это, и наконец то, что сработало для меня:

1) Откройте Sql Server Configuration Manager -> Сетевая конфигурация SQL Server -> Протоколы для <(INSTANCE)> -> TCP / IP (дважды щелкните по нему).

введите описание изображения здесь

2) Выберите -> IP-адреса (вкладка).

3) Перейдите к последней записи IP All и упомяните TCP-порт 1433.

введите описание изображения здесь

4) Нажмите Win+R и введите services.msc.

5) Теперь перезапустите SQL Server <(INSTANCE)>.

введите описание изображения здесь

После этого проблема была решена!

Я получил решение для меня:

Откройте "Диспетчер конфигурации SQL Server"

Теперь нажмите "Конфигурация сети SQL Server" и "Протоколы для имени".

Щелкните правой кнопкой мыши на "TCP/IP" (убедитесь, что он включен) Нажмите "Свойства"

Теперь выберите вкладку "IP-адреса" и перейдите к последней записи "IP All"

Введите "TCP-порт" 1433.

Теперь перезапустите "SQL Server .Name". используя "services.msc" (winKey + r)

Это будет работать...

Я решаю эту проблему, открыв Службы, затем запустив службу Sql Server (Sqlexpress).

Сервис Image

Эта ошибка в основном возникала, когда служба SQL остановлена. Вам нужно перезапустить службу. Чтобы перейти в это окно, вы должны выполнить поиск служб, как это

Затем найдите SQLSERVER(MSSQLSERVER) и перезапустите службу.

Надеюсь, это сработает.

Я думаю, что вы используете Express Edition

Попробуйте добавить "\SQLEXPRESS" к вашему имени сервера

например, "МОЙ СЕРВЕР \ SQLEXPRESS"

введите описание изображения здесь

Нажмите window + R (Run window Open) и в окне запуска типа "services.msc" и новые услуги открыть найти SQL SERVER(SQLEXPRESS) Запустите сервис и попробуйте снова, он работает и у меня. введите описание изображения здесь

У меня была такая же ошибка, когда я хотел запустить свой проект WinForms (который включает в себя работу с базой данных SQL Server и который отлично работал на моем ПК) на другом ПК. Проблема была в брандмауэре Windows на моем ПК. Я решил это, добавив два правила. Это вся процедура, как разрешить SQL Server через брандмауэр Windows:

  1. Откройте "Run" и введите services.msc
  2. Найдите службу для SQL Server (имя экземпляра) и браузера SQL Server. По одному, щелкните правой кнопкой мыши, выберите "Свойства", скопируйте путь к исполняемому файлу
  3. Тогда открой firewall.cpl, нажмите "Разрешить приложение" или "Добавить правило", добавьте ранее скопированный путь (существует процедура, которой необходимо следовать), установите флажок "Домен и частный", снимите флажок "Общий".

Это ссылка на YouTube, где вы можете увидеть эту процедуру: Разрешить SQL Server через брандмауэр Windows

Я столкнулся с такой же проблемой В моем случае я решил проблему таким образом

Шаг 1. Из меню "Пуск" перейдите в диспетчер конфигурации SQL-сервера.

Шаг 2. Включите TCP/IP

Шаг 3: дважды щелкните TCP/IP и перешел к последней записи IP-адреса IP ALL и ввел TCP-порт 1433, затем применил

Шаг 4: затем нажал win+r и написал services.msc открыл службы, затем прокрутил вниз, затем щелкнул правой кнопкой мыши на SQL Server (MSSQLSERVER), выберите перезапуск

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

Это решение также решает как сетевую ошибку, так и службу за сервером SQL

Я ответил на аналогичный вопрос здесь, нужно указать другой open Run type-> services.msc - по услугам -> sort by stopped вы увидите кучу остановленных служб SQL Right click and start

Для начала - есть 4 проблемы, которые могут быть причиной распространенных ошибок подключения к LocalDb SqlExpress Sql Server SQL Network Interfaces, error: 50 - Local Database Runtime error occurredперед тем как начать, вам нужно переименовать v11 или v12 в (localdb)\mssqllocaldb

Я обнаружил, что проще всего сделать следующее - я приложил фотографии и шаги для помощи.

Сначала проверьте, какой экземпляр вы установили, вы можете сделать это, проверив реестр и запустив cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" если этот шаг не удался, вы можете удалить с помощью опции d cmd> Sqllocaldb.exe d "someDb"
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

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

Я использую SQL Server 2016 и окно 10.

Прежде всего, разрешить удаленное подключение к SQL Server. Я набрал в меню "Пуск" файл sqlservermanager13.msc, чтобы открыть диспетчер конфигурации SQL Server. Убедитесь, что статус TCP/IP включен.

Проверьте номер порта TCP, дважды щелкнув имя протокола TCP/IP. Обычно это 1433 по умолчанию.

Следующие процедуры настраивают брандмауэр Windows с помощью оснастки "Брандмауэр Windows в режиме повышенной безопасности" (MMC). Брандмауэр Windows в режиме повышенной безопасности настраивает только текущий профиль.

Чтобы открыть порт в брандмауэре Windows для доступа TCP

  1. В меню "Пуск" выберите пункт "Выполнить", введите WF.msc и нажмите кнопку "ОК".
  2. В брандмауэре Windows в режиме повышенной безопасности на левой панели щелкните правой кнопкой мыши Входящие правила, а затем нажмите Новое правило на панели действий.
  3. В диалоговом окне "Тип правила" выберите "Порт" и нажмите "Далее".
  4. В диалоговом окне "Протокол и порты" выберите TCP. Выберите Определенные локальные порты, а затем введите номер порта экземпляра компонента Database Engine, например 1433, для экземпляра по умолчанию. Нажмите кнопку "Далее.
  5. В диалоговом окне "Действие" выберите "Разрешить подключение" и нажмите "Далее".
  6. В диалоговом окне "Профили" выберите все профили, которые описывают среду подключения к компьютеру, когда вы хотите подключиться к компоненту Database Engine, и нажмите "Далее".
  7. В диалоговом окне "Имя" введите имя и описание для этого правила, а затем нажмите "Готово".

Еще одна вещь для настройки.

Чтобы открыть доступ к SQL Server при использовании динамических портов

  1. В меню "Пуск" выберите пункт "Выполнить", введите WF.msc и нажмите кнопку "ОК".
  2. В брандмауэре Windows в режиме повышенной безопасности на левой панели щелкните правой кнопкой мыши Входящие правила, а затем нажмите Новое правило на панели действий.
  3. В диалоговом окне "Тип правила" выберите "Программа" и нажмите "Далее".
  4. В диалоговом окне "Программа" выберите "Путь к этой программе". Нажмите кнопку "Обзор" и перейдите к экземпляру SQL Server, к которому вы хотите получить доступ через брандмауэр, а затем нажмите кнопку "Открыть". По умолчанию SQL Server находится в C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe. Нажмите кнопку "Далее.
  5. В диалоговом окне "Действие" выберите "Разрешить подключение" и нажмите "Далее".
  6. В диалоговом окне "Профили" выберите все профили, которые описывают среду подключения к компьютеру, когда вы хотите подключиться к компоненту Database Engine, и нажмите "Далее".
  7. В диалоговом окне "Имя" введите имя и описание для этого правила, а затем нажмите "Готово".

Взгляните на документацию Microsoft. Настройка брандмауэра Windows для доступа к базе данных.

Сделав все, что упомянуто здесь:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/ Все еще не работает для меня.

Шаги сработали для меня:

Start > Run > cmd > sqlcmd -L

Он подскажет вам имя сервера. Убедитесь, что это имя сервера совпадает с именем, к которому вы пытаетесь подключиться, в окне CONNECT TO SERVER в студии управления SQL.

Я сделал эту глупую ошибку, я продолжаю использовать MSSQLSERVER скорее используя это имя сервера.

Надеюсь, это поможет людям, которые делают глупые ошибки, как я.

Благодарю.

Вы можете проверить следующие методы.

    1. Проверьте строку подключения проекта.
  • б

    1. Перейдите в службы и перезапустите экземпляр SQLServer.
  • с

    1. Откройте "Диспетчер конфигурации SQLServer".
    2. В левой панели выберите "Конфигурация сети SQLServer" и разверните ее.
    3. Выберите "Протоколы для MSSQLServer"
    4. В правой панели dbl нажмите "TCP/IP"
    5. На вкладке "Протокол" установите "Включено" на "Да"
    6. На вкладке "IP-адреса" прокрутите вниз
    7. В "IP All" установите "TCP-порт" на 1433
  • d
    1. Откройте "Брандмауэр с повышенной безопасностью"
    2. На правой вкладке выберите "Входящие правила".

В средней вкладке найдите запись, что "локальный порт" - 1433. Если вы не можете найти его, попробуйте создать его со следующими уровнями

  • В меню "Пуск" выберите пункт "Выполнить", введите "WF.msc" и нажмите кнопку "ОК".
  • На левой панели нажмите "Брандмауэр Windows в режиме повышенной безопасности".
  • На правой панели щелкните правой кнопкой мыши "Входящие правила", а затем нажмите "Новое правило".
  • В диалоговом окне "Тип правила" выберите "Порт" и нажмите "Далее".
  • В диалоговом окне "Протокол и порты" выберите "TCP", выберите "Определенные локальные порты", а затем введите номер порта 1433, нажмите "Далее".
  • В диалоговом окне "Действие" выберите "Разрешить подключение" и нажмите "Далее".
  • В диалоговом окне "Профиль", проверяя Домен, Частный и Общедоступный, затем нажмите Далее
  • В диалоговом окне "Имя" введите "Порт SQL 1433" и для описания напишите описание для собственного. Затем нажмите Готово
  1. Затем на средней вкладке дважды щелкните найденный элемент (экземпляр) или созданный вами элемент с именем "Порт SQL 1433".
  2. Выберите вкладку "Область" в открывшемся диалоговом окне (Свойства SQL Server)
  3. На локальном ПК в браузере перейдите на google.com и выполните поиск "Мой IP".
  4. затем копия вашего "IP"
  5. Перейдите на удаленный сервер и в диалоговом окне "Свойства SQL Server" вкладки "Область", в "Удаленном IP-адресе" выберите параметр "Эти IP-адреса" и нажмите кнопку "Добавить"
  6. В открывшемся диалоговом окне (IP-адрес) выберите "Этот IP-адрес или подсеть" и вставьте свой "IP-адрес", нажмите кнопку "ОК".

Я должен запустить службу браузера SQL Server в диспетчере конфигурации SQL Server. Установка не может обнаружить недавно созданный сервис без этого.

Я попробовал все остальные ответы на этот вопрос, и некоторые, если не все, вероятно, сыграли свою роль в том, чтобы заставить меня работать, но я все еще не мог подключиться к БД удаленно. Я использовал SQL Server на виртуальной машине Azure.

В конце концов я вспомнил, что у виртуальной машины есть конечные точки, которые контролируются прокси-сервером учетной записи Azure, поэтому я перешел на портал Azure и добавил 1433 в качестве доступной конечной точки, и я мог подключиться к своему экземпляру SQL.

Надеюсь, это поможет кому-то, кто попробовал все остальные ответы и все еще не повезло!

Просто перезапустите службу SQL Server (MSSQLSERVER).

Я столкнулся с той же проблемой, и проблема заключалась в том, что в решении было несколько проектов (Webа также Droid) и хотя Default project был выбран в Package Manager Console он использовал строку подключения из Droid проект:

PM> update-database -Verbose
Using StartUp project 'Droid'. <-- DROID
Using NuGet project 'Web'. <-- WEB
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
<!-- BAD TARGET DATABASE -->
Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   [REMOVED TEXT]
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

После настройки Startup Project в Web и Default Project в Package Manger Console Я получил это на работу.

MS SQL Server 2014 в Windows 7

1) Зайдите в программу поиска и наберите (менеджер конфигурации Sql server 2014)

2) затем нажмите "Сервис сервера Sql" в меню дерева слева

3) проверьте свой экземпляр состояния службы сервера SQL (остановлен или работает)

4) если это остановка, измените статус выполнения и войдите в свою SQL Server Management Studio 2014

Резюме

Чтобы устранить эту проблему, возникающую при запуске локального приложения и удаленной базы данных, используйте диспетчер конфигурации SQL Server, чтобы добавить псевдоним для удаленной базы данных.

подробности

Недавно я столкнулся с этой проблемой при переходе с Windows 7 на ноутбук с Windows 10. Я работал в локальной среде разработки и среды выполнения, обращаясь к нашей базе данных Dev на удаленном сервере. Мы обращаемся к базе данных Dev через настройку псевдонима сервера через служебную программу клиента SQL Server (cliconfg.exe). После подтверждения того, что псевдоним был правильно настроен в 64-битной и 32-битной версиях утилиты, и что сервер базы данных был доступен с нового ноутбука через SSMS, я все равно получил сообщение об ошибке, увиденное OP (не IP-адрес OP, курс).

Необходимо было использовать диспетчер конфигурации SQL Server, чтобы добавить псевдоним для удаленного сервера базы данных Dev. Исправлены вещи прямо вверх.

Попробуйте добавить , и номер порта (как в ,1433) до конца вашей строки подключения.

Когда я столкнулся с этой ошибкой в ​​Visual Studio,

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

... это было во время выполнения следующего кода C#, который пытался получить мои данные SQL Server для отображения их в сетке. Разрыв произошел точно в строке, которая говорит connect.Open():

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

Это было необъяснимо, потому что SQL-запрос был очень простым, у меня была правильная строка соединения, и сервер базы данных был доступен. Я решил выполнить сам SQL-запрос вручную в SQL Management Studio, и он работал нормально и дал несколько записей. Но одна вещь выделялась в результатах запроса: в таблице типа Friends в поле Friends был неправильно закодированный HTML-текст (в частности, некоторые закодированные символы комментариев такого рода). <!-- в столбце "Повествование"). Подозреваемая строка данных выглядела так:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

Обратите внимание на закодированный символ HTML "&lt;", который обозначал символ"<". Каким-то образом он попал в базу данных, и мой код C# не смог его забрать! Он каждый раз заканчивался ошибкой прямо в строке connect.Open ()! После того, как я вручную отредактировал одну строку данные в таблице базы данных Friends и вместо этого вставьте декодированный символ "<", все работает! Вот как должна выглядеть эта строка:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

Я отредактировал одну плохую строку, которую использовал, с помощью этого простого оператора UPDATE ниже. Но если у вас есть несколько строк закодированного HTML, вам может потребоваться более сложный оператор UPDATE, который использует функцию REPLACE:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

Итак, мораль этой истории заключается (по крайней мере, в моем случае) в том, чтобы продезинфицировать ваш HTML-контент, прежде чем сохранять его в базе данных, и вы не получите эту загадочную ошибку SQL Server в первую очередь! (Ну, правильная дезинфекция / декодирование вашего HTML-контента является предметом другого обсуждения, заслуживающего отдельного поиска в Stackru, если вам нужна дополнительная информация!)

Я перешел с рабочего ноутбука на Windows 7 на рабочий ноутбук на Windows 10. Я успешно использовал SSMS2016 на Windows 7.

Та же проблема применяется с использованием SSMS2012 или SSMS2016. Мой доступ к серверам 10 sql с использованием проверки подлинности Windows остался прежним. Я мог бы проверить это с другого сервера. Однако 2 из 10 серверов не будут подключаться с моего ноутбука. Оба были MS SQL Server 9, но я мог подключиться к другим базам данных SQL Server 9.

Решением было добавить правило брандмауэра (используя брандмауэр Windows в режиме повышенной безопасности).

Создайте правило входящих для каждой SSMS, например C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe

Я не эксперт по сети, поэтому я не включил детали, но, надеюсь, это укажет вам правильное направление.


Ошибка msg (правило брандмауэра) "Ошибка при установлении соединения с SQL Server, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешить удаленные подключения. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр) (поставщик данных.Net SqlClient) "

Хотя вышеперечисленные решения должны работать в 90% случаев, но если вы все еще читаете этот ответ!!! Вы, вероятно, пытаетесь подключиться к другому серверу, чем предполагалось. Это может быть связано с тем, что файл конфигурации указывает на сервер SQL, отличный от фактического сервера, к которому вы пытаетесь подключиться.

Случилось со мной по крайней мере.

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

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

Может быть, я не могу исправить вашу ситуацию мгновенно, но я могу указать направление или думать вам (тот, кто, наконец, скатится сюда). Я начал размышлять об ошибке моей работающей программы, которая возникла после того, как я убедился, что имя экземпляра явно верно, и настроил свою базу данных, чтобы разрешить удаленное управление, следуя приведенным выше методам. После этого я подозревал, что что-то не так происходит в моем фрагменте кода соединения SQL.

Решение моей проблемы:

  • Проверьте мою функцию sqlconnection

  • Нажмите, чтобы увидеть его конфигурацию

  • Новая связь

  • Выберите имя сервера

Это работает для меня с размышлениями о том, что именно происходит в процессе подключения. Надеюсь, мое мышление приведет вас к ошибке.

В моей ситуации у службы MSSQLSERVER возникла проблема, поэтому я перезапустил службу, и проблема была решена.

Поэтому я рекомендую перейти в приложение "Службы" с помощью ключа Windows, выполните поиск "Службы", затем найдите свой экземпляр Sql, обычно "SQL Server (MSSQLSERVER)" для Microsoft sql server. Щелкните правой кнопкой мыши службу и нажмите "Пуск", если отключено, нажмите "Перезагрузить".

Я столкнулся с этой проблемой после того, как изменил имя своего компьютера. Поэтому мне просто нужно было обновить имя сервера в SQL Server Management Studio:

«Имя сервера» -> «Найти еще…» -> «Ядро базы данных» -> Выберите «[Имя вашего компьютера]» -> «ОК»

Моя проблема началась, когда я попытался изменить сервер с IIS Express на локальный IIS (при использовании LocalDB).

введите описание изображения здесь

Я использовал LocalDB (для целей разработки), и когда я перешел из Local IIS в IIS Express, Visual Studio переключил мой источник данных с Data Source=(LocalDb)\MSSQLLocalDB на Data Source=.\SQLEXPRESS

Неверная строка подключения

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

Правильная строка подключения

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

Надеюсь, это поможет кому-то там.

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

  1. перезапустите службу sql server.
  2. перезапустите службу (скажем, IIS), которая обращается к серверу sql. (проблема, вероятно, здесь, если время между началом вызова службы к SQL-серверу и временем, в течение которого вы получаете ошибку ответа, очень короткое (около одной или двух секунд).
  3. перезагрузите сервер sql сервер включен.
  4. перезапустите сервер, на котором включена вызывающая служба.

Если вы столкнулись с этим во время отладки в Visual Studio, убедитесь, что путь сборки проекта указывает на локальный диск, или выполните следующие действия, чтобы предоставить разрешения для сетевой папки.

Другие вопросы по тегам