Oprava LocalDB instance databáze eWay-CRM® Desktop

Popis

Při spuštění eWay-CRM®, pokud je k připojení k databázi použita technologie LocalDB, se objeví následující chyba:

*** EXCEPTION ***
Hash: 11819C934E56127E51EE3D1C0DCB8CA1
Message: System.Data.SqlClient.SqlException: Při vytváření připojení k serveru SQL došlo k chybě související se sítí nebo s instancí. Server nebyl nalezen nebo nebyl přístupný. Ověřte, zda je název instance správný a zda je server SQL nakofigurován, aby povoloval vzdálená připojení. (provider: Zprostředkovatel pojmenovaných kanálů, error: 40 - Nelze otevřít připojení k serveru SQL Server.)
v System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
v System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
v System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
v System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
v System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
v System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
v System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
v System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
v System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
v System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
v System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
v System.Data.SqlClient.SqlConnection.Open()
v eWay.Core.MSSQLDataInterface.MSSQLItemStore.get_Connection()
v eWay.Core.MSSQLDataInterface.MSSQLItemStore.CreateStoreAndCheckConnection(String connectionString, Boolean useMasterDatabase)
v eWay.Core.Data.DataStorage.CheckConnectionToServer()
v eWay.Core.Data.DataStorage.TryConnectionToServer(Int32 maxRetryCount)
v eWay.Core.Office.Addins.OutlookAddin.Connect.<>c__DisplayClass4c.<CheckSqlService>b__4b(IProgressReporter reporter)
v eWay.Core.GUI.Dialogs.BackgroundWorkerProgressDialog.OnDoWork(ProgressDoWorkAction doWork)
v eWay.Core.GUI.Dialogs.BackgroundWorkerProgressDialog.<>c__DisplayClass4.<.ctor>b__0(Object workerSender, DoWorkEventArgs workerArgs)
v System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
v eWay.Core.Threading.PlainBackgroundWorker.OnDoWork(DoWorkEventArgs e)
v eWay.Core.Threading.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
v System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean)
Source: .Net SqlClient Data Provider
StackTrace:
v System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
v System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
v System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
v System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
v System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
v System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
v System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
v System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
v System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
v System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
v System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
v System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
v System.Data.SqlClient.SqlConnection.Open()
v eWay.Core.MSSQLDataInterface.MSSQLItemStore.get_Connection()
v eWay.Core.MSSQLDataInterface.MSSQLItemStore.CreateStoreAndCheckConnection(String connectionString, Boolean useMasterDatabase)
v eWay.Core.Data.DataStorage.CheckConnectionToServer()
v eWay.Core.Data.DataStorage.TryConnectionToServer(Int32 maxRetryCount)
v eWay.Core.Office.Addins.OutlookAddin.Connect.<>c__DisplayClass4c.<CheckSqlService>b__4b(IProgressReporter reporter)
v eWay.Core.GUI.Dialogs.BackgroundWorkerProgressDialog.OnDoWork(ProgressDoWorkAction doWork)
v eWay.Core.GUI.Dialogs.BackgroundWorkerProgressDialog.<>c__DisplayClass4.<.ctor>b__0(Object workerSender, DoWorkEventArgs workerArgs)
v System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
v eWay.Core.Threading.PlainBackgroundWorker.OnDoWork(DoWorkEventArgs e)
v eWay.Core.Threading.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
v System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Verze

Všechny verze eWay-CRM®

Obtížnost řešení

Vysoká

Postup řešení

K instanci (localdb)\EWAYSQL se nedá připojit, takže jí zkusíme vytvořit znovu.

Nejprve je potřeba zavřít Outlook.

Pokud instance běží vypněte jí spuštěním následujícího příkazu v příkazové řádce Windows:

sqllocaldb stop EWAYSQL

Poté instanci smažte pomocí následujícího příkazu:

sqllocaldb delete EWAYSQL

Poté, co je instance smazána, je potřeba vytvořit novou, a to prostřednictvím tohoto příkazu:

sqllocaldb create EWAYSQL

Nově vytvořenou instanci spustíme:

sqllocaldb start EWAYSQL

Pokud instance nenastartuje s chybou "SQL Server process failed to start" postupujte pomocí návodu zde.

Pokud SQL LocalDB ani tak nefunguje, pokračujte instalací SQL Express.

Pro verze 4.X a starší: Následně je nutné znovu připojit databázi uživatele pomocí SQL Management Studio nebo prostřednictvím nástroje QueryExPlus, který je v instalační složce eWay-CRM®. Pro připojení použijte následující příkaz (text "user1_dbid" se bude lišit podle individuálních případů):

EXEC sp_attach_db @dbname = N'eWay_user1_dbid',
@filename1 =
N'C:\Users\User1\eWay_user1_dbid.mdf',
@filename2 =
N'C:\Users\User1\eWay_user1_dbid_log.ldf';

Nakonec spusťte Outlook.