Scenario 1.You are using Trados Studio 2021/2019 in combination with Trados GroupShare 2020 and the projects are created via an integration API (e.g. Helix)The project appears correctly in the GroupShare WebInterface, it can be found in the projects list, its files can even be opened in Online Editor. However, when you attempt to open the same project in Trados Studio, you get the below error message:Failed to open server project The project with ID '{0}' cannot be opened because it was not successfully published on the server. or Failed to open server project The project with ID '{0}' does not exist on the server. Even though the project looks 'fine' in the GroupShare WebUI, checking its creation status in the Background tasks will prove that the process itself has Failed. or Additionally, when checking the ExecutionService.log file on the GroupShare Application server you will find the following error message: 2021-05-20 19:08:17.857#Tasks.CreateProjectWorkItem#System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'sts.EffectiveRole' with unique index 'IX_EffectiveRole_UserId_ResGroupId_RoleId'. The duplicate key value is (112, 1436, 4). 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 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 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.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) --- End of inner exception stack trace --- Scenario 2.This is specific for projects including a large number of files (hundreds or even thousands): Trados GroupShare (2020/2017/2015/2014) in combination with Trados Studio (2021/2019/2017/2015/2014)Opening a Trados GroupShare project containing a greater number of files fails in Trados Studio with the following error message: Failed to open server project The GroupShare application logs show the following error: Sdl.StudioServer.Services.ProjectServer.ProjectServerManager#System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: 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 |
Solution for Scenario 1.Workaround A.Recreate the project using the Integration API. Attempt a republishing if the product permits it. Workaround B.This works if you have the first error message where it says: select * from proj.PackagePublishing where ProjectUniqueId = 'f3bd9be5-e0c1-42f5-b5cd-1358f21b648e' --The Project ID from the Web UI 3. Check PublishingStatusId, if it's 5, this needs to be updated to Status 3 by executing the following statement: --Set the PublishingStatusId to 3. Once this is set, the project can be downloaded from Studio.-- update proj.PackagePublishing set PublishingStatusId = '3' where ProjectUniqueId = 'f3bd9be5-e0c1-42f5-b5cd-1358f21b648e' Solution for Scenario 2.Workaround A: Improve SQL Server PerformanceYou may be (temporarily) experiencing this issue because there is resource pressure on your SQL Server. An analysis of whether this is the case is recommended.Ask your database or system administrator to check whether any performance counters indicate a bottleneck on the SQL Server while trying to open the project. Workaround B: Delete or detach unused projects.Deleting or detaching old projects may enable you to work with projects containing more files.Ensure you have necessary backup copies when deleting old projects. Workaround C: Publish projects with fewer source filesFor existing projectsIf the above workarounds do not yield any results or cannot be applied, you can avoid the error by splitting the project into several parts.This implies creating several projects with a part of the files. You can use the already existing bilingual SDLXLIFF files for this (see Note 2):
Note 1: If PerfectMatch or Pre-translate have already been applied successfully, there is no need to run these batch-task again. Note 2: It is possible to create the new project based on bilingual *.sdlxliff files that were merged during the creation of the previous project. Each existing sdlxliff file added to a project only counts as a single source file. I.e. adding one merged *.sdlxliff file instead of several source files will make it less likely that the issue described in this KB article occurs. However, certain important restrictions apply in this situation. Refer to following article for details: For new projectsTo avoid the problem in the future, create projects with fewer source files than problematic on your server. |
For Scenario 1.This is caused by some defects that are already raised with development and waiting for a fix in a future Trados GroupShare update:
For Scenario 2.GroupShare sends a query to the SQL server and waits for a reply. However, the SQL Server does not respond in the allotted time. This causes the timeout error.The amount of time GroupShare allows for the operation to complete cannot be changed in the current version. The number of files that can be published in one project without errors depends on: - the (current) performance of your SQL server - the total number of files published on your GroupShare server. The SDL Development team is aware of this error and enhancement requirement and is working on this. |