System.Data.SqlClient.SqlException: не удалось создать пользовательский экземпляр SQL Server.

System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.

Кто-нибудь когда-либо получал эту ошибку и / или имел какое-либо представление о ее причине и / или решении?

Эта ссылка может содержать релевантную информацию.

Обновлять

Строка подключения =.\SQLEXPRESS;AttachDbFilename=C:\temp\HelloWorldTest.mdf;Integrated Security=True

Предложенное User Instance=false сработало.

Ответов (5)

Вы должны добавить явный User Instance = true / false в строку подключения.

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

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

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

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

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

к

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

У меня Windows 8, и я тестирую решение

  1. Включение пользовательских экземпляров
    exec sp_configure «пользовательские экземпляры включены», 1.
    GO
    Reconfigure

  2. Перезапустите свой экземпляр SQL Server.

  3. Удалите папку: C:\Users\Arabic\{YOUR_USERNAME}\Local\Microsoft\Microsoft SQL Server Data
    замените {YOUR_USERNAME} соответствующими именами.

источник от Roboblob

Вот ответ на вашу проблему:

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

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

exec sp_configure 'user instances enabled', 1.
GO
Reconfigure

После выполнения запроса перезапустите экземпляр SQL Server. Теперь удалите следующую папку:

C:\Documents and Settings\{YOUR_USERNAME}\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\{SQL_INSTANCE_NAME}

Убедитесь, что вы заменили {YOUR_USERNAME} и {SQL_INSTANCE_NAME} соответствующими именами.

Источник: Исправить ошибку «Не удалось создать пользовательский экземпляр SQL Server из-за сбоя при запуске процесса для пользовательского экземпляра».

Я выполнил все эти шаги, но также должен был войти в

  1. Панель управления> Администрирование> Службы
  2. Щелкните правой кнопкой мыши SQL Server (SQLEXPRESS)
  3. Выберите вкладку "Вход в систему".
  4. Выберите учетную запись локальной системы и нажмите кнопку ОК.

Проблема решена ... спасибо