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

StackOverflow https://stackoverflow.com/questions/281500

Вопрос

Я пытаюсь подключиться к MDF.Я даже пошел на то, чтобы полностью переустановить sql server express (теперь это единственная версия 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.

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

Это решение было найдено здесь: http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know-how-to-create-the-aspnetdb-mdf-file.aspx

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

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

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

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

Что мне помогло, так это изменить строку подключения с

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

Для

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

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

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

sp_configure 'user instances enabled', 1;
 RECONFIGURE

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top