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

Я опубликовал свое веб-приложение asp.net MVC 3 локально, используя IIS 7 Express и Visual Developer Express 2010, но когда я устал входить в приложение, оно вернуло следующую ошибку: -

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

так что может быть причиной этой проблемы? BR Edit:- текущая строка подключения:-

<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="ElearningEntities" connectionString="metadata=res://*/Models.Elearning.csdl|res://*/Models.Elearning.ssdl|res://*/Models.Elearning.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MScProject.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

person john Gu    schedule 12.03.2012    source источник


Ответы (1)


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

person Darin Dimitrov    schedule 12.03.2012
comment
как я могу это сделать, на самом деле это мое первое развертывание веб-приложения MVC с использованием IIS 7 .. заранее спасибо - person john Gu; 13.03.2012
comment
Вы меняете строку подключения, чтобы использовать токены User Id и Password. Затем вы настраиваете сервер базы данных SQL так, чтобы он принимал этого пользователя. Способ настройки не соответствует теме StackOverflow. Вы должны задать этот вопрос на serverfault.com, если у вас есть проблемы с настройкой вашего сервера или некоторые более конкретные вопросы. - person Darin Dimitrov; 13.03.2012
comment
я отредактировал свой исходный пост, чтобы включить текущую строку подключения. - person john Gu; 13.03.2012
comment
@johnG, в строке подключения вы установили Integrated Security=True. Также вы, кажется, используете SQL Express. Вы уверены, что такой экземпляр SQL установлен на вашем целевом сервере? Как вы собираетесь разместить свою базу данных на целевом сервере? Какую версию SQL Server вы собираетесь использовать? Помните, что SQL Express подходит для целей разработки, но как только вы отправите свое приложение, вы можете рассмотреть возможность использования более продвинутой версии SQL Server. Проверьте следующие строки подключения, которые вы можете использовать: connectionstrings.com/sql-server-2008 - person Darin Dimitrov; 13.03.2012
comment
Но, как я уже сказал, если вы не знакомы с различными выпусками и конфигурациями SQL Server, вам лучше задать свой вопрос на serverfault.com. Подобные обсуждения здесь неуместны. StackOverflow — это сайт вопросов и ответов, посвященный программированию, где вы можете задавать вопросы о разработке вашего приложения, а не о том, как настроить SQL Server и какая версия вам подходит. - person Darin Dimitrov; 13.03.2012