Failed to generate a user instance of SQL Serverhttp://forums.asp.net/t/1642639.aspx/1?Failed+to+generate+a+user+instance+of+SQL+ServerMon, 31 Oct 2011 10:01:05 -040016426394254300http://forums.asp.net/p/1642639/4254300.aspx/1?Failed+to+generate+a+user+instance+of+SQL+ServerFailed to generate a user instance of SQL Server <p>I have been fighting with an error message since I moved&nbsp;my solution onto&nbsp;my hosted servers. I have been able to resolve most of my membership errors. I have had to move both databases (Membership and Classifieds) out of the App_data folder and on an actual SQL server. I have edited my connection strings to point to the new SQL servers. Everything else seems to be working fine so far, but after I log in and go to the &quot;My Ads &amp; Profile&quot; tab, I get the following error:</p> <pre class="prettyprint">Server Error in '/' Application. -------------------------------------------------------------------------------- Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. SQLExpress database file auto-creation error: The connection string specifies a local Sql Server Express instance using a database location within the applications App_Data directory. The provider attempted to automatically create the application services database because the provider determined that the database does not exist. The following configuration requirements are necessary to successfully check for existence of the application services database and automatically create the application services database: If the applications App_Data directory does not already exist, the web server account must have read and write access to the applications directory. This is necessary because the web server account will automatically create the App_Data directory if it does not already exist. If the applications App_Data directory already exists, the web server account only requires read and write access to the applications App_Data directory. This is necessary because the web server account will attempt to verify that the Sql Server Express database already exists within the applications App_Data directory. Revoking read access on the App_Data directory from the web server account will prevent the provider from correctly determining if the Sql Server Express database already exists. This will cause an error when the provider attempts to create a duplicate of an already existing database. Write access is required because the web server accounts credentials are used when creating the new database. Sql Server Express must be installed on the machine. The process identity for the web server account must have a local user profile. See the readme document for details on how to create a local user profile for both machine and domain accounts. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [SqlException (0x80131904): Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) &#43;4849719 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) &#43;194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) &#43;2392 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) &#43;35 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) &#43;144 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) &#43;342 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) &#43;221 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) &#43;189 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) &#43;4864151 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) &#43;29 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) &#43;4866464 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) &#43;117 System.Data.SqlClient.SqlConnection.Open() &#43;122 System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) &#43;82 [HttpException (0x80004005): Unable to connect to SQL Server database.] System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) &#43;137 System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install) &#43;94 System.Web.Management.SqlServices.Install(String database, String dbFileName, String connectionString) &#43;25 System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) &#43;395 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.4206; ASP.NET Version:2.0.50727.4209</pre> <P><BR>I am not sure why it is still trying to look in the App_Data folder for the database, but it is. Below is my current web.config file.</P><pre class="prettyprint">&lt;?xml version="1.0"?&gt; &lt;configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"&gt; &lt;connectionStrings&gt; &lt;add name="classifiedsConnection" connectionString="Data Source=XXXXX;Initial Catalog=SWSEISchoolClassifieds;User ID=XXXXX; Password=XXXXX" providerName="System.Data.SqlClient"/&gt; &lt;add name="MembershipConnection" connectionString="Data Source=XXXXX;Initial Catalog=SWSEISchoolClassifiedsASPMembership;User ID=XXXXX; Password=XXXXX" providerName="System.Data.SqlClient"/&gt; &lt;/connectionStrings&gt; &lt;location path="Admin"&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;allow roles="Administrators"/&gt; &lt;deny users="*"/&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/location&gt; &lt;location path="PostAd.aspx"&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;deny users="?"/&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/location&gt; &lt;location path="EditPhotos.aspx"&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;deny users="?"/&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/location&gt; &lt;location path="MyAds.aspx"&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;deny users="?"/&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/location&gt; &lt;location path="MyProfile.aspx"&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;deny users="?"/&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/location&gt; &lt;system.web&gt; &lt;customErrors defaultRedirect="Error.aspx" mode="Off"/&gt; &lt;pages styleSheetTheme="Blue"/&gt; &lt;authentication mode="Forms"/&gt; &lt;membership defaultProvider="MembershipProvider"&gt; &lt;providers&gt; &lt;clear /&gt; &lt;add name="MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="MembershipConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/&gt; &lt;/providers&gt; &lt;/membership&gt; &lt;profile enabled="true"&gt; &lt;properties&gt; &lt;add name="FirstName" type="System.String"/&gt; &lt;add name="LastName" type="System.String"/&gt; &lt;add name="MemberId" defaultValue="0" type="System.Int32"/&gt; &lt;group name="Core"/&gt; &lt;/properties&gt; &lt;/profile&gt; &lt;roleManager enabled="true" defaultProvider="MembershipProvider"&gt; &lt;providers&gt; &lt;clear /&gt; &lt;add name="MembershipProvider" type="System.Web.Security.SqlRoleProvider" applicationName="/" connectionStringName="MembershipConnection"/&gt; &lt;/providers&gt; &lt;/roleManager&gt; &lt;compilation debug="true"/&gt; &lt;siteMap defaultProvider="RoleEnabled_AspNetXmlSiteMapProvider" enabled="true"&gt; &lt;providers&gt; &lt;clear/&gt; &lt;add name="RoleEnabled_AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="web.sitemap" securityTrimmingEnabled="true"/&gt; &lt;/providers&gt; &lt;/siteMap&gt; &lt;/system.web&gt; &lt;system.net&gt; &lt;mailSettings&gt; &lt;smtp&gt; &lt;network host="yourSMTPhostname" port="25" defaultCredentials="true" userName="enterUserNameHereIfRequired" password="enterPasswordIfRequired"/&gt; /&gt; &lt;/smtp&gt; &lt;/mailSettings&gt; &lt;/system.net&gt; &lt;/configuration&gt; </pre> <p>I am not very knowledgable about the asp.net membership and how it works, so I'm sure I'm missing something. Any help would be greatly apprecaited!<br> </p> 2011-01-14T15:55:17-05:004254401http://forums.asp.net/p/1642639/4254401.aspx/1?Re+Failed+to+generate+a+user+instance+of+SQL+ServerRe: Failed to generate a user instance of SQL Server <p>Also, if I am logged in and go to ShowAd.aspx I get the same&nbsp;error,&nbsp;as well as&nbsp;when I'm logged out and click on the link for the User who posted the ad on ShowAd.aspx.</p> 2011-01-14T16:54:01-05:004551952http://forums.asp.net/p/1642639/4551952.aspx/1?Re+Failed+to+generate+a+user+instance+of+SQL+ServerRe: Failed to generate a user instance of SQL Server <p>Did you ever figure out what the problem was? I am having a very similar&nbsp;issue. The Log-in control still thinks that the connection string points to the local app_data folder even though it does not. But most strange of all is that it only thinks that when it is checking whether users are part of a member role, otherwise it logs in fine.&nbsp;</p> 2011-08-12T16:22:30-04:004660566http://forums.asp.net/p/1642639/4660566.aspx/1?Re+Failed+to+generate+a+user+instance+of+SQL+ServerRe: Failed to generate a user instance of SQL Server <p>In your web.config, add the following line if it's not already there.</p> <pre class="prettyprint">&lt;trust level=&quot;TrustLevel&quot; /&gt;</pre> <p>Remember to restart the application before you try again. Following links from Microsoft might help you too</p> <p><a href="http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/fbf32aa8-2125-4919-be81-3baa399e2e0d">http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/fbf32aa8-2125-4919-be81-3baa399e2e0d</a></p> <p><a href="http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/fbf32aa8-2125-4919-be81-3baa399e2e0d"></a><a href="http://support.microsoft.com/kb/2002980">http://support.microsoft.com/kb/2002980</a></p> 2011-10-31T10:01:05-04:00