Cannot generate SSPI context

5 posts, 1 answers
  1. Marina
    Marina avatar
    10 posts
    Member since:
    Aug 2011

    Posted 06 Feb 2012 Link to this post


    Hi all,

    Came in this morning to this error on TeamPulse and can't trace it.  I've restated the TeamPulse Integration Service with no effect.  The service account of the service is on the TeamPulse database as db_owner.  I'm at a loss to address this.

    Is there a way see/reset the account that TeamPulse is using or is everything going through the TeamPulse Integration Service?

    Thanks,

    Edmund


    Server Error in '/' Application.

    Cannot generate SSPI context.

    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.

    Exception Details: System.Data.SqlClient.SqlException: Cannot generate SSPI context.

    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): Cannot generate SSPI context.]
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5050218
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
       System.Data.SqlClient.TdsParser.SSPIError(String error, String procedure) +76
       System.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[] sendBuff, UInt32& sendLength) +72
       System.Data.SqlClient.TdsParser.TdsLogin(SqlLogin rec) +5056897
       System.Data.SqlClient.SqlInternalConnectionTds.Login(ServerInfo server, TimeoutTimer timeout, String newPassword) +320
       System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +161
       System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239
       System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195
       System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232
       System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
       System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +33
       System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524
       System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
       System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479
       System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108
       System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
       System.Data.SqlClient.SqlConnection.Open() +125
       System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user) +43
       System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe() +47
       System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode() +20
       System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +57
       System.Data.Linq.Table`1.System.Linq.IQueryProvider.Execute(Expression expression) +23
       System.Linq.Queryable.Any(IQueryable`1 source, Expression`1 predicate) +278
       TeamPulse.Core.Repositories.Common.IsThereAnAuthorizedUserManager() +1172
       TeamPulse.Client.Host.WebLogin.Login.Page_Load(Object sender, EventArgs e) +335
       System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
       System.Web.UI.Control.OnLoad(EventArgs e) +91
       System.Web.UI.Control.LoadRecursive() +74
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
    




  2. Joel
    Admin
    Joel avatar
    300 posts

    Posted 06 Feb 2012 Link to this post

    Hi Edmund,

    From the look of the stack trace this issue is not related to the integration service.  We have seen this issue reported by another customer recently and they were able to work around it by resetting IIS.  Can you please try this and let us know if it helps?  If we manage to find the cause of the issue we will let you know.

    Thanks,
    Joel
    the Telerik team
    New Cross Project Perspective in TeamPulse coming soon!
    Want to know how TeamPulse could help you better track all your projects?
    Reserve a seat for the TeamPulse R1 webinar today!
  3. Marina
    Marina avatar
    10 posts
    Member since:
    Aug 2011

    Posted 07 Feb 2012 Link to this post


    I tried both restarting IIS and restarting the TeamPulse site: no effect.   If I reinstall will it prompt me for the logins and somehow refresh them?  

    I really need to get this back up and running today.

    Edmund
  4. Answer
    Joel
    Admin
    Joel avatar
    300 posts

    Posted 07 Feb 2012 Link to this post

    Hi Edmund,

    You don't need to re-install TeamPulse to change the account used for the IIS app pool or the integration service.  Follow these steps to change the account in IIS:

    1, Open IIS Manager and expand your server
    2. Click Application Pools, find the one named TeamPulse_APP_POOL, and select it.
    3. From the menu on the right hand side click Advanced Settings...
    4. Find the property named Identity and change it to some account that has access to the DB.

    After changing the account the app pool should recylce on its own but you can recylce it manually or reset IIS just to be sure.

    If you need to change the account used by the integration service, follow these steps:

    1. Open the "Services" snap-in (hit Windows key, type Services).
    2. Find the TeamPulse Integration Service, right click it, and select Properties.
    3. Go to the Log On tab, change the account, and click OK.
    4. Restart the integration service to be sure the new account is being used.

    Regards,
    Joel
    the Telerik team
    New Cross Project Perspective in TeamPulse coming soon!
    Want to know how TeamPulse could help you better track all your projects?
    Reserve a seat for the TeamPulse R1 webinar today!
  5. Marina
    Marina avatar
    10 posts
    Member since:
    Aug 2011

    Posted 07 Feb 2012 Link to this post


    Joel,

    You, young man, are full of win.  That did it.  I changed the Application Pool to another account and it is happy.  It is strange as the account it originally had did have access. No matter, it works now so the work can continue.

    Many thanks,

    Edmund
Back to Top