Cascade Skyline - with Microsoft Logo and Project Support header - author Brian Smith

Project Server 2010: An unknown error in Project Center, usually related to filters and duplicate custom field values

Project Server 2010: An unknown error in Project Center, usually related to filters and duplicate custom field values

  • Comments 29

The fix for this frequently hit bug was released KB 2598251, and now the KB article at http://support.microsoft.com/kb/2598251 has been updated to include the SQL scripts that will clean up the duplicate values that lead to the error.  These scripts will correct the data, and the fix will stop the condition returning.  The fix itself has a version number of 14.0.6117.5002 – and if you load the February CU rollup package with this same version number then you will also get the fix.  The single Project Server package has been updated to point to the 2598251 patch – as this includes the fix, but also includes the February cumulative update.

So to summarize:

And finally – to help the search engines find this posting, the ULS logs will indicate an exception error similar to the following:

Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectGetProjectCenterProjectsForGridJson Microsoft.Office.Project.Server.DataAccessLayer.FilterDal+FilterException: Error during filter query execution. Query: declare @ResUid UniqueIdentifier; set @ResUid = ff02387a-234e-4323-9e33-dbbf6f11880e; declare @PermUid UniqueIdentifier; set @PermUid = a120a079-75bc-4f0f-b376-3fb0ae9ac940; declare @ViewUid UniqueIdentifier; set @ViewUid = 63d3499e-df27-401c-af58-ebb9607beae8; declare @P0 UniqueIdentifier; set @P0 = 2d9ba6f2-d3d4-47f1-8661-5af3d695f8ed; declare @P1 UniqueIdentifier; set @P1 = 0ad53bb6-15ee-476a-ab05-7bb434b50466; SET NOCOUNT ON SELECT T.PROJ_UID INTO #T0 FROM dbo.MSP_PROJECTS AS P INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_WEB_FN_SEC_GetAllProjectsResCanViewByViewID(@ResUid, @PermUid, @ViewUid, 3) AS perm ON perm.PROJ_UID = T.PROJ_UID LEFT JOIN dbo.ProjectSummaryCustomFields AS TABLEALIAS_0 ON TABLEALIAS_0.PROJ_UID = P.PROJ_UID AND TABLEALIAS_0.MD_PROP_UID = @P0 WHERE T.TASK_OPTINDX = 1.0 AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6)) AND ((TABLEALIAS_0.CODE_VALUE <> @P1) OR (TABLEALIAS_0.CODE_VALUE IS NULL)) CREATE CLUSTERED INDEX PK_#T0 ON #T0 (PROJ_UID) SET NOCOUNT OFF SELECT T.PROJ_UID , P.PROJ_NAME , T.TASK_START_DATE , T.TASK_FINISH_DATE , T.TASK_PCT_COMP , T.TASK_WORK , T.TASK_DUR , R.RES_NAME , P.WPROJ_LAST_PUB , P.PROJ_OPT_MINUTES_PER_DAY , P.PROJ_OPT_MINUTES_PER_WEEK , P.PROJ_OPT_DAYS_PER_MONTH , T.TASK_SUMMARY_PROGRESS_DATE , T.TASK_IS_MILESTONE , dbo.MSP_FN_HYPERLINK_HREF(T.TASK_HYPERLINK_ADDRESS, T.TASK_HYPERLINK_SUB_ADDRESS) AS TASK_HYPERLINK_HREF , T.TASK_OUTLINE_LEVEL , P.PROJ_TYPE , T.TASK_DUR_FMT , P.WSTS_SERVER_UID , P.PROJ_OPT_CURRENCY_CODE , P.PROJ_ACTIVE_RISK_COUNT , P.PROJ_ACTIVE_ISSUE_COUNT , P.PROJ_TOTAL_DOC_COUNT , WOB.WOBJ_ISSUE_REF_CNT , WOB.WOBJ_RISK_REF_CNT , WOB.WOBJ_DOC_REF_CNT , PJSYNC.SYNC_WSS_LIST_UID , T.TASK_COMPLETE_THROUGH , (CASE WHEN T.TASK_UID=T.TASK_PARENT_UID THEN 1 ELSE 0 END) AS TASK_IS_PROJECT_SUMMARY FROM dbo.MSP_PROJECTS AS P INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID INNER JOIN #T0 AS keys ON keys.PROJ_UID = P.PROJ_UID LEFT JOIN (SELECT WOBJ_PROJ_UID as PROJ_UID,[4] as WOBJ_ISSUE_REF_CNT, [5] as WOBJ_RISK_REF_CNT, [3] as WOBJ_DOC_REF_CNT FROM ( SELECT WOBJ_TYPE, WOBJ_PROJ_UID FROM MSP_WEB_OBJECTS WHERE WOBJ_TASK_UID='00000000-0000-0000-0000-000000000000') pwob PIVOT (COUNT(WOBJ_TYPE) FOR WOBJ_TYPE in([3] ,[4],[5])) AS pvt) AS WOB ON WOB.PROJ_UID = P.PROJ_UID LEFT JOIN dbo.MSP_SYNC_PROJECT_SETTINGS AS PJSYNC ON PJSYNC.PROJ_UID = P.PROJ_UID WHERE T.TASK_OPTINDX = 1.0 AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6)) DROP TABLE #T0; --->

System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(Boolean allowCache, DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints)
at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints)
at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState)
--- End of inner exception stack trace ---
at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState)
at Microsoft.Office.Project.Server.Utility.FilterDalQueryInfo.Query()
at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectQueryInfo.Query()
at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectCenterQueryInfo.Query()
at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, OrderInfo orderInfo, SliceInfo sliceInfo, Guid groupSchemeUid, Nullable`1 ganttSchemeUid, Boolean serializeStyles, Func`1 getChanges, Boolean serializeUnfilteredHierarchy, Boolean serializeLookupTableInfo, Boolean showTimeWithDates, String rowFilter)
at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, ViewPropertyGroup properties, JsGridSerializerArguments gridSerializerArgs, Func`1 getChanges)
at Microsoft.Office.Project.Server.BusinessLayer.Project.GetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties)
at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.ProjectGetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties)

Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post
  • Hi Brian,

    the hotfix explanation says that you don't have to restart the servers but it doesn't say anything about running the wizard to upgrade the databases. Is it necessary?

    thanks

  • Yes Josep, it is always necessary to run the Wizard - it doesn't just update the databases - also worth reminding people that all SharePoint and Project Server hotfixes are cumulative.

    Best regards,

    Brian.

  • Hi Brian,

    in the description of the hotfix (English version cause the Spanish doesn't say it) appear a set of sql scripts to execute in order to detect if I have the issue.

    After executing the first script, no rows are returned in the select but I can tell that I have the "Unknown Error" issue in the project center.

    Would you apply the hotfix in my case?

    thanks

  • If the script is not finding the condition then the hotfix will certainly not fix your unknown error Josep.  The fix itself doesn't stop the unknown error anyway - it stops the condition occuring that can lead to it.  The error has other causes beside the duplicate custom field problem - and the ULS logs may give a clue to what is happening in your case.  You may need to open an incident and have one of our engineers help isolate the problem.

    The Cumulative Update also contains other fixes so it may still be worth installing even if it does not address this specific issue - but always best to test in a non-production environment first.

    Best regards,

    Brian.

  • Hi Brian,

    I copy the error I get in the ULS but summarizing the error is a timeout: System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.  The statement has been terminated.  

    Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectGetProjectCenterProjectsForGridJson Microsoft.Office.Project.Server.DataAccessLayer.FilterDal+FilterException: Error during filter query execution.   Query:     declare @ResUid UniqueIdentifier; set @ResUid = f2764395-302c-4631-8f25-3e431ca94514;  declare @PermUid UniqueIdentifier; set @PermUid = a120a079-75bc-4f0f-b376-3fb0ae9ac940;  declare @ViewUid UniqueIdentifier; set @ViewUid = 1449c6dd-5d5d-4975-bbc2-0a0eb8c45633;  declare @P0 UniqueIdentifier; set @P0 = d74730d3-d5d9-4c56-839b-e1cb6dc0cc41;  declare @P1 UniqueIdentifier; set @P1 = 832417bf-8866-419b-a095-5d2a2ae4163c;  declare @P2 UniqueIdentifier; set @P2 = 0dab5f1e-4c03-4258-a193-e40641430ead;  declare @P3 UniqueIdentifier; set @P3 = 832417bf-8866-419b-a095-5d2a2ae4163c;  declare @P4 UniqueIdentifier; set @P4 = 8780fc0a-1c0d-4d82-8cc4-1d0d35bae398;  declare @P5 UniqueIdentifier; set @P5 = 832417bf-8866-419b-a095-5d2a2ae4163c;  declare @P6 UniqueIdentifier; set @P6 = 65328f80-198d-43bf-a60b-f7e17210996d;  declare @P7 UniqueIdentifier; set @P7 = 832417bf-8866-419b-a095-5d2a2ae4163c;  declare @P8 NVarChar; set @P8 = 100;  declare @P9 Int; set @P9 = 5;  declare @P10 UniqueIdentifier; set @P10 = b5c6af32-81af-4fa8-af45-f3941a3729a7;  declare @P11 UniqueIdentifier; set @P11 = 832417bf-8866-419b-a095-5d2a2ae4163c;    SET NOCOUNT ON    SELECT      T.PROJ_UID   INTO #T0   FROM dbo.MSP_PROJECTS AS P      INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID     INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID     LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID     INNER JOIN dbo.MSP_WEB_FN_SEC_GetAllProjectsResCanViewByViewID(@ResUid, @PermUid, @ViewUid, 3) AS perm ON perm.PROJ_UID = T.PROJ_UID  WHERE T.TASK_OPTINDX = 1.0    AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6))   AND  (  (  (  (  ( EXISTS (    SELECT MD_PROP_UID    FROM ProjectSummaryCustomFields    WHERE ProjectSummaryCustomFields.PROJ_UID = P.PROJ_UID      AND ProjectSummaryCustomFields.MD_PROP_UID = @P1      AND ProjectSummaryCustomFields.CODE_VALUE in (@P0)    GROUP BY MD_PROP_UID    HAVING COUNT(*) >= 1  ) OR EXISTS (    SELECT MD_PROP_UID    FROM ProjectSummaryCustomFields    WHERE ProjectSummaryCustomFields.PROJ_UID = P.PROJ_UID      AND ProjectSummaryCustomFields.MD_PROP_UID = @P3      AND ProjectSummaryCustomFields.CODE_VALUE in (@P2)    GROUP BY MD_PROP_UID    HAVING COUNT(*) >= 1  ) )  OR EXISTS (    SELECT MD_PROP_UID    FROM ProjectSummaryCustomFields    WHERE ProjectSummaryCustomFields.PROJ_UID = P.PROJ_UID      AND ProjectSummaryCustomFields.MD_PROP_UID = @P5      AND ProjectSummaryCustomFields.CODE_VALUE in (@P4)    GROUP BY MD_PROP_UID    HAVING COUNT(*) >= 1  ) )  OR EXISTS (    SELECT MD_PROP_UID    FROM ProjectSummaryCustomFields    WHERE ProjectSummaryCustomFields.PROJ_UID = P.PROJ_UID      AND ProjectSummaryCustomFields.MD_PROP_UID = @P7      AND ProjectSummaryCustomFields.CODE_VALUE in (@P6)    GROUP BY MD_PROP_UID    HAVING COUNT(*) >= 1  ) )  AND (T.TASK_PCT_COMP < @P8) )  AND ((P.PROJ_TYPE <> @P9) OR (P.PROJ_TYPE IS NULL)) )   CREATE CLUSTERED INDEX PK_#T0 ON #T0 (PROJ_UID)    SET NOCOUNT OFF    SELECT      T.PROJ_UID ,      P.PROJ_NAME ,      T.TASK_PCT_COMP ,      T.TASK_START_DATE ,      T.TASK_FINISH_DATE ,      P.PROJ_OPT_MINUTES_PER_DAY ,      P.PROJ_OPT_MINUTES_PER_WEEK ,      P.PROJ_OPT_DAYS_PER_MONTH ,      T.TASK_SUMMARY_PROGRESS_DATE ,      T.TASK_IS_MILESTONE ,      dbo.MSP_FN_HYPERLINK_HREF(T.TASK_HYPERLINK_ADDRESS, T.TASK_HYPERLINK_SUB_ADDRESS) AS TASK_HYPERLINK_HREF ,      T.TASK_OUTLINE_LEVEL ,      P.PROJ_TYPE ,      T.TASK_DUR_FMT ,      P.WSTS_SERVER_UID ,      P.PROJ_OPT_CURRENCY_CODE ,      P.PROJ_ACTIVE_RISK_COUNT ,      P.PROJ_ACTIVE_ISSUE_COUNT ,      P.PROJ_TOTAL_DOC_COUNT ,      WOB.WOBJ_ISSUE_REF_CNT ,      WOB.WOBJ_RISK_REF_CNT ,      WOB.WOBJ_DOC_REF_CNT ,      PJSYNC.SYNC_WSS_LIST_UID ,      T.TASK_COMPLETE_THROUGH ,      (CASE WHEN T.TASK_UID=T.TASK_PARENT_UID THEN 1 ELSE 0 END) AS TASK_IS_PROJECT_SUMMARY ,      T.TASK_DUR   FROM dbo.MSP_PROJECTS AS P      INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID     INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID     LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID     INNER JOIN #T0 AS keys ON keys.PROJ_UID = P.PROJ_UID     LEFT JOIN (SELECT WOBJ_PROJ_UID as PROJ_UID,[4] as WOBJ_ISSUE_REF_CNT, [5] as WOBJ_RISK_REF_CNT, [3] as WOBJ_DOC_REF_CNT               FROM (               SELECT WOBJ_TYPE, WOBJ_PROJ_UID                FROM MSP_WEB_OBJECTS WHERE WOBJ_TASK_UID='00000000-0000-0000-0000-000000000000') pwob              PIVOT (COUNT(WOBJ_TYPE) FOR WOBJ_TYPE in([3] ,[4],[5])) AS pvt) AS WOB ON WOB.PROJ_UID = P.PROJ_UID     LEFT JOIN dbo.MSP_SYNC_PROJECT_SETTINGS AS PJSYNC ON PJSYNC.PROJ_UID = P.PROJ_UID  WHERE T.TASK_OPTINDX = 1.0    AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6))      CREATE TABLE #T1 (MD_PROP_UID uniqueidentifier)   INSERT INTO #T1 (MD_PROP_UID) VALUES (@P10)   INSERT INTO #T1 (MD_PROP_UID) VALUES (@P11)   INSERT INTO #T1 (MD_PROP_UID)      SELECT MD_PROP_UID_SECONDARY FROM MSP_CUSTOM_FIELDS WHERE MD_PROP_UID IN (@P10, @P11)   INSERT INTO #T1 (MD_PROP_UID)      SELECT DISTINCT MD_PROP_UID FROM MSP_PROJECT_CUSTOM_FIELDS_WORKING_VIEW WHERE MD_PROP_UID_SECONDARY IN (@P10, @P11)   INSERT INTO #T1 (MD_PROP_UID)      SELECT DISTINCT MD_PROP_UID_SECONDARY FROM MSP_PROJECT_CUSTOM_FIELDS WHERE MD_PROP_UID IN (@P10, @P11)     SELECT      CFV.CUSTOM_FIELD_UID ,      CFV.PROJ_UID ,      CFV.MD_PROP_UID ,      CFV.MD_PROP_ID ,      CF.MD_PROP_NAME ,      CFV.FIELD_TYPE_ENUM ,      CFV.FLAG_VALUE ,      CFV.DUR_VALUE ,      CFV.NUM_VALUE ,      CFV.DUR_FMT ,      CFV.DATE_VALUE ,      CFV.CODE_VALUE ,      CFV.TEXT_VALUE ,      CFV.INDICATOR_VALUE   FROM dbo.MSP_PROJ_CUSTOM_FIELD_VALUES AS CFV      INNER JOIN #T0 AS keys ON keys.PROJ_UID = CFV.PROJ_UID     INNER JOIN dbo.#T1 AS cfkeys ON cfkeys.MD_PROP_UID = CFV.MD_PROP_UID     INNER JOIN dbo.MSP_CUSTOM_FIELDS AS CF ON CF.MD_PROP_UID = CFV.MD_PROP_UID  UNION  SELECT      CFV.CUSTOM_FIELD_UID ,      CFV.PROJ_UID ,      CFV.MD_PROP_UID ,      CFV.MD_PROP_ID ,      PCF.MD_PROP_NAME ,      CFV.FIELD_TYPE_ENUM ,      CFV.FLAG_VALUE ,      CFV.DUR_VALUE ,      CFV.NUM_VALUE ,      CFV.DUR_FMT ,      CFV.DATE_VALUE ,      CFV.CODE_VALUE ,      CFV.TEXT_VALUE ,      CFV.INDICATOR_VALUE   FROM dbo.MSP_TASK_CUSTOM_FIELD_VALUES AS CFV      INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = CFV.PROJ_UID AND T.TASK_UID = CFV.TASK_UID AND T.TASK_UID = T.TASK_PARENT_UID     INNER JOIN #T0 AS keys ON keys.PROJ_UID = CFV.PROJ_UID     INNER JOIN dbo.#T1 AS cfkeys ON cfkeys.MD_PROP_UID = CFV.MD_PROP_UID     INNER JOIN dbo.MSP_PROJECT_CUSTOM_FIELDS AS PCF ON PCF.MD_PROP_UID = CFV.MD_PROP_UID AND PCF.PROJ_UID = CFV.PROJ_UID    DROP TABLE #T0;  DROP TABLE #T1;     ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.  The statement has been terminated.    

    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)    

    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)    

    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)    

    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()    

    at System.Data.SqlClient.SqlDataReader.get_MetaData()    

    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)    

    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)    

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)    

    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 Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(Boolean allowCache, DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints)    

    at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints)    

    at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState)     -

    -- End of inner exception stack trace ---    

    at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState)    

    at Microsoft.Office.Project.Server.Utility.FilterDalQueryInfo.Query()    

    at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectQueryInfo.Query()    

    at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectCenterQueryInfo.Query()    

    at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, OrderInfo orderInfo, SliceInfo sliceInfo, Guid groupSchemeUid, Nullable`1 ganttSchemeUid, Boolean serializeStyles, Func`1 getChanges, Boolean serializeUnfilteredHierarchy, Boolean serializeLookupTableInfo, Boolean showTimeWithDates, String rowFilter)    

    at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, ViewPropertyGroup properties, JsGridSerializerArguments gridSerializerArgs, Func`1 getChanges)    

    at Microsoft.Office.Project.Server.BusinessLayer.Project.GetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties)    

    at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.ProjectGetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties)

  • I found a post in your blog talking about Project Server 2007 timeouts... blogs.msdn.com/.../project-server-2007-timeout-settings.aspx

    Would it be useful for me?

  • Hi Josep, I am never a fan of increasing timeouts to resolve issues.  Fine for testing purposes, but the real soilution is usually to make things work faster as the timeouts are set at values that should not usually be reached.  I'd check DB maintenance plans first.  Perhaps DB statistics are not updated or you have seriously fragmented indexes.

    Best regards,

    Brian

  • Please tell me where you take these scripts? I downloaded - there is a standard installation file, I don't see any scripts. Thanks.

  • Hi Yana,

    I understand that as the scripts were added later to the article, that some of the translated versions, or non-US versions of the KB article are not updated.  You may need to go explicitly to the US page to get to the scripts.  Let me know if this works for you.

    Best regards,

    Brian.

  • Уes, happened exactly as you said. Thanks, I found the scripts.

  • Hi Brian, after checking the maintenance plan for the Project Server DBs and activating the recommended performance enhancements it seems everything goes smoother and I've been able to use the views without getting the timeout

  • Hi Brian, I have successfully applied the scripts. But the script worked for all fields except those that are multiple choice. There remains duplication of data. How can I solve this problem?

  • Hi Yana, yes, we have realised the scripts exclude the multi selection fiedls - but these too can have duplicates.  I understand that editing the field and unselecting the field that has been duplicated, via a PDP, saving and then re-selecting will clear the duplication.  I don't have a script for this.  Do you have many fields in this condition?

    Best regards,

    Brian.

  • Hi Brian, for all projects on two of these fields. This procedure doesn't help me clear the duplicates.

    Maybe there is still some way?

  • I have a set of steps that will always create duplicate values in a custom field lookup table:

    1. Create a custom field lookup of text

    2. Add two records to the lookup consisting of the same two words separated by a single space for the first record and two spaces for the second record

    3. Save the two records. The save will succeed because there are no duplicates

    4. Reopen the lookup, and try to resave it. It will fail, and complain that there are duplicates. This is true.

    The act of saving actually removes the second space in the second record, making the two records duplicates.

    Will the fix handle this situation? I have a workaround of using REPLACE on my select statement before I use the API web service to load thousands of records,

    but I would prefer not having to do so. It seems like a bug to have the Save actually altering the data.

Page 1 of 2 (29 items) 12