EXC

Материал из Oktell
Перейти к: навигация, поиск

Наверх

22:52:04:484     4496   DBProvider:  DBAutoUpdate исключение при обновлении файлом 'C:\Program Files (x86)\oktell\Server\DBAutoUpdate\130913_chathistory.sql'
System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_A_Chat_Dialog'. Cannot insert duplicate key in object 'dbo.A_Chat_Dialog'.
working...
The statement has been terminated.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at oktell.Service.DB.DBCommon.Update()
Текст упавшего запроса:

Проблема файла обновлении. Скопируйте текст запроса \DBAutoUpdate\130913_chathistory.sql и выполните его вручную в SQL Server Management Studio. После успешного выполнения удалите его из \DBAutoUpdate\, после чего перезагрузите службу Oktell Server, чтобы он накатил обновления базы самостоятельно. Если выполнить запрос не удается, пишите в обращение в бесплатную техническую поддержку с прикреплением Exception-лога.



14:28:29:039     1572   DBProvider:  System.Data.SqlClient.SqlException (0x80131904): Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   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.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 Syste
 Eyeless (16:26:47 28/08/2014) 
m.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   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.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at oktell.Service.DB.DBCommon.SQLExecArbitraryNonParams_sql(String strconn, String sqltext, DataSet& ds)
ClientConnectionId:63af4128-99c0-4e40-9eaf-def0fb6cb226
 --> ConnectionString: server=(local)\OKTELL;database=WO_Module_dashboards;uid=WO_ModuleUser_dashboards;pwd=6TuCGNKm-Aa1-9761;pooling=true
 --> Query:
exec wo_Dashboards_Dashboard_Create @dashboardname='werew', @projectid=NULL, @authorizeduserid='451a8233-d70f-4a80-8a62-239aead0f619'

При переносе сервера после восстановления БД из бэкапов. При установке Дашбордов может возникнуть следующая ошибка (пример перенос с sql server 2005 express на sql server 2012 express)

Решение:

1.Обновить Oktell до версии не ниже 2.11
2.EXEC sp_changedbowner 'AutelService'
3.1.Удаляем пользователя 'AutelService' из datebases - oktell - security - users
3.2.Создаем пользователя 'AutelService'
3.3.EXEC sp_changedbowner 'AutelService'
3.4.Если п.3.3. не помог, то выполните EXEC sp_changedbowner 'sa'