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

Ошибка: не удалось создать экземпляр пользователя SQL Server

Я пытаюсь подключиться к MDF. Я даже дошел до полной переустановки sql-сервера полностью (теперь это единственный вкус SQL, установленный на моем ящике, где раньше у меня было 05 dev и express). Я проверил, что все пути правильные, и до сих пор мой google-fu не помог.

Полное сообщение об ошибке:

Не удалось создать экземпляр пользователя SQL Server из-за сбоя в запуск процесса для экземпляра пользователя. Соединение будет замкнутый.

Строка подключения:

<add name= "CustomerEntities"
     connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
     provider=System.Data.SqlClient;
     provider connection string='Data Source=.\SQLEXPRESS;
     AttachDbFilename=\App_Data\CustomerDb.mdf;
     Integrated Security=True;
     User Instance=True'"
     providerName="System.Data.EntityClient" />

Дополнительная информация:

Несколько ссылок на эту ошибку, которые я нашел в Интернете, не относятся ко мне. Например, я видел, где эта ошибка возникает при попытке запустить экземпляр пользователя поверх удаленного рабочего стола (я делаю это локально). В то время как другой предполагает, что это связано с остальными файлами из старой экспресс-установки... Я посмотрел в предписанных местах и ​​не нашел эти артефакты. Я также попытался запустить sp_configure 'user instances enabled', '1', но он сказал, что он уже установлен в 1.

4b9b3361

Ответ 1

ОК, теперь он работает! предположим, что это сложная проблема... шаги, которые я предпринял для ее решения, таковы:

  • Изменено следующее свойство в строке подключения (обратите внимание на тонкую разницу): AttachDbFilename=|DataDirectory|CustomerDb.mdf;
  • Удалено содержимое следующего каталога: c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS. Я думал, что искал это раньше, но я действительно посмотрел папку Microsoft Sql Server. Опять же, тонкая разница.

Как только я сделал эти две вещи, соединение начало работать: -D

Ответ 2

У меня возникла такая же ошибка, когда я переместил код с одной машины на другую. Я использую VS2010, и SQLEXPRESS 2008 вместе с ним.

Trick, удалив все содержимое из следующего файла: "C:\Users\UserName\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS" работал у меня.

Ответ 3

Даже несмотря на вышеупомянутые ответы, решена проблема многих людей, я все еще нахожу, что они не соответствуют сути проблемы. Ближе всего это ответ @sohaiby выше. Но это неправильно ссылается на использование Management Studio.

Сообщение об ошибке в верхней части этого раздела очень четко говорит о том, что проблема заключается в создании экземпляра пользователя. Какой экземпляр и как он используется, описывается здесь в каждой детали: https://msdn.microsoft.com/en-us/library/ms254504(v=vs.110).aspx

Лично я столкнулся с этой проблемой при переключении соединения БД из режима проверки подлинности Windows на аутентификацию SQL Server. Я решил это, просто изменив часть строки подключения на: "Пользовательский экземпляр = false;" вместо "Пользовательский экземпляр = true", который отлично работал с проверкой подлинности Windows.

После того, как я перешел на "User Instance = false"; мое соединение отлично работало без каких-либо дополнительных манипуляций. Я не могу настаивать на том, что он будет работать или будет подходящим во всех сценариях. Тем не менее, я обязательно рекомендую попробовать его перед другими критическими методами, описанными выше, например, удалением рабочих каталогов SQL Server.

Ответ 5

Как уже отмечалось другими, удаление содержимого каталога: c:\Users\\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS разрешили его для меня. Заметка, которая может помочь другим, в Windows 7, просматривать каталог c:\users\username из браузера документа, не отображает папку AppData, которая отбросила меня на некоторое время (поскольку я думал, что у меня не было каталога AppData), пока Я обнаружил, что он действительно существует (но не отображается в браузере документов в Windows 7), вам просто нужно ввести полное имя пути, чтобы добраться до него.

Ответ 6

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

"Не удалось создать экземпляр пользователя SQL Server из-за сбоя в запуске процесса для экземпляра пользователя. Соединение будет закрыто."

Не уверенный в том, что вызвало это, я следовал инструкциям в этом посте и в другом сообщении о удалив каталог "C:\Users\UserName\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS", но безрезультатно.

Какая уловка для меня заключалась в изменении строки подключения из

"Источник данных =.\SQLExpress; Начальный каталог = DBFilePath; Интегрированная безопасность = SSPI; MultipleActiveResultSets = true"

to

"Источник данных =.\SQLExpress; Начальный каталог = DBName; Интегрированная безопасность = SSPI; MultipleActiveResultSets = true"

Ответ 7

Я фазу эту проблему с моим файлом mdf в приложении Windows Form, и я просто перезагружаю компьютер, и моя проблема решена.

Ответ 8

Чтобы исправить это, откройте SQL Server Management Studio Express. В редакторе запросов введите этот текст:

sp_configure 'user instances enabled', 1;
 RECONFIGURE

Запустите его. Затем перезапустите базу данных SQL Server.

Ответ 9

Вы пытались подключиться к экземпляру SQL Server с помощью SQL Management Studio?

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

Убедитесь, что служба запущена, проверив службы на панели управления.