Error while initializing database on server in Asp Net Mvc!

Asked

Viewed 188 times

1

I have a finished application developed in C# using Asp Net MVC. On my local server the application connects to the database that is on the server of the company that I work, so when putting the application to run on the Host Network provider is not able to initialize the database, it gives an error displaying the following message: An error occurred while executing the command definition. See the inner exception for details.

It recovers the backup all ok, so it does not boot the database, here is the part of the code that set up all this part, remembering that the credentials deleted leaving everything empty:

public NFeWebContext()
            : base($"Data Source=;Initial Catalog=BD{HttpContext.Current.User.Identity.Name};Persist Security Info=True;User ID =;Password=;MultipleActiveResultSets=True;App=EntityFramework providerName=System.Data.SqlClient")
        {
            //$"Data Source=;Initial Catalog=b;Integrated Security=True; User ID = ;Password=; MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"
            //$"Data Source=;Initial Catalog=BD{HttpContext.Current.User.Identity.Name};Persist Security Info=True;User ID =;Password=;MultipleActiveResultSets=True;App=EntityFramework providerName=System.Data.SqlClient"
            SqlConnection cnn = new SqlConnection($"Data Source=;Initial Catalog=MASTER;Persist Security Info=True;User ID =;Password=;MultipleActiveResultSets=True;App=EntityFramework providerName=System.Data.SqlClient");
            cnn.Open();

            if (!System.Data.Entity.Database.Exists($"Data Source=;Initial Catalog=BD{HttpContext.Current.User.Identity.Name};Persist Security Info=True;User ID =;Password=;MultipleActiveResultSets=True;App=EntityFramework providerName=System.Data.SqlClient"))
            {
                SqlCommand cmdRestore = new SqlCommand();
                cmdRestore.Connection = cnn;

                cmdRestore.CommandText = $@"USE MASTER;
                                              RESTORE DATABASE [BD{HttpContext.Current.User.Identity.Name}] 
                                              FROM DISK = 'DIRETORIO DO BACKUP'
                                              WITH                                        
                                              Move 'BD' TO 'DIRETORIO DO BACKUP', 
                                              Move 'BD_log' TO 'DIRETORIO DO BACKUP',
                                              Replace, RECOVERY";
                cmdRestore.ExecuteNonQuery();
                cnn.Close();
                //  bdcliente.Open();
            }
        }

And here is the error that the Inner Exception displays:

System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out --- End of inner exception stack trace --- at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) at System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() at System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() at System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() at System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t, DbCommandInterceptionContext`1 c) at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext) at System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) --- End of inner exception stack trace --- at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues) at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__6() at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation) at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at
  • 1

    And what the Inner Exception says?

  • Not returning to Indner Exception, this is one of the facts that makes it even more complicated!

  • It’s not returning, or you’re not seeing?

  • @Leandroangelo managed to return the error here, I will edit the question and include it, look there and tell me if you have an idea of what is happening

1 answer

1


By mistake: "The timeout period elapsed prior to completion of the operation or the server is not responding...."

This is a query/command that takes longer to execute than expected and analyzing your SQL the command being used is a database Restore.

Then probably the execution of this operation is expensive and delays the time limit.

An alternative would be to increase the limit on your connection, example:

 cmdRestore.CommandTimeout = 300;
  • Thank you very much, it really is something in this sense that is occurring, and with your answer I can understand here what can be done to solve along with your suggestion!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.