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

  • Brian Smith's Microsoft Project Support Blog

    Failure Audit message in SQL Server - Event ID: 18456 every minute?

    • 10 Comments

    This is a event log error I have seen in Project Server 2007 on various farms going right back to the Beta and I finally found some time to track it down.  It didn't seem to be breaking anything on my server, but made it difficult to read the logs and see other "important" stuff.  This is the error:

    Event Type:    Failure Audit
    Event Source:    MSSQLSERVER
    Event Category:    (4)
    Event ID:    18456
    Date:        1/17/2008
    Time:        1:29:00 PM
    User:        DOMAIN\User
    Computer:    SERVERNAME
    Description:
    Login failed for user 'DOMAIN\user'. [CLIENT: <local machine>]

    I did a SQL Profiler trace to see where it was coming from and discovered the cause was a SQL Server Agent job called SharedServices_DB_Job_DeleteExpiredSessions that was running every minute.  The reason for the failure was that I did not have a SharedServices_DB on that server.  I did once - but my test server gets changed around a fair bit and this was a remnant that didn't get cleaned up. Not sure if it would normally get removed and if I did something bad which left it hanging around. 

    This could also happen with Microsoft Office SharePoint Server 2007 even if Project isn't installed as it relates to the Shared Services Provider.  To disable the job you can go to SQL Management Studio, and connect to your database engine, then expand SQL Server Agent - select the Disable option. 

    image

    There will likely be other valid jobs there too - for your real SharedServices databases that still exist.  The bad one will show that it has failed when last executed if you look in the Job Activity Monitor.

    image

    Not a big problem - but at least disabling will keep the logs looking clean, and will save a few CPU cycles for some real work.

    Technorati Tags: Project Server 2007

  • Brian Smith's Microsoft Project Support Blog

    Project Server 2010: Restoring or Migrating PWA Instances

    • 9 Comments

    Just a quick posting on this topic pointing out a few of the changes between 2007 and 2010.  We have some documents already up on TechNet – under the Operations section at http://technet.microsoft.com/en-us/library/cc197578.aspx, but thought this would be a useful posting to make clear what you can and cannot do.

    In 2007 you could restore your 4 Project Server databases, then point your provision job at these 4 and you’d have a new PWA instance using those DBs.  If you wanted your workspaces too then you’d need to copy the sites or if you’d had the forethought to use a different web application for sites then it could be even easier.

    In 2010 we introduce the 5 dB restore –so you can now restore your Content database containing your PWA site (and potentially all your Project sites (workspaces,in 2007 speak), and your 4 Project Server databases, attach the Content DB to a web application and then you can provision and it will use this PWA site and the databases – rather than complaining that the /PWA site already exists – which was the case in 2007.  So this is excellent – and makes it much easier to move a complete copy of the instance around. 

    However, there are some gotchas:

    You cannot change the name of the site - but you could restore to a different web application (port) to avoid a clash if you needed to pull /PWA from one server to another server where /PWA already existed

    If you change domains you might have some unexpected results – This is due to differences in accounts in different domains, and will be even more unusual if you happen to use a different farm admin from the Project admin (which would be best practice, but in a dev/test/support scenario might not be the case.  The issue here is that attaching the content DB will add the farm admin as the site administrator, but will not add the Project admin when you provision the site.  So you have a great Catch 22. Once you provision the PWA instance the Project admin will get an access denied on /PWA as he has no rights to the site.  Farm Admin will get Access Denied (or might be unexpected error) as he is not a project server user.  Simple solution is to navigate to http://servername/pwa/-layouts/user.aspx as the Farm Admin and then give the Project admin rights.  Once you can connect as Project Admin then you can update users credentials as necessary.

    4 DB restores will NOT work – it looks like it has worked, but if you try to drill in to a project you will see a message “Unable to open Project, no valid Project Detail Page could be found for the project.”  The Project Detail Pages (PDPs) are stored in the Content DB – if you don’t; restore the Content DB then you don’t have them and cannot get to existing Projects through Project Center.  You can however still access via Project Professional, so in some support or disaster recovery scenarios this might be good enough – just to get access to projects while the full recovery happens somewhere else.

    You may need to use the WSS site re-linker tool – now built in to Server Settings in PWA as “Bulk Update Project Sites”.  If you have changed URL die to a different port then re-linking should get your sites in order. In upgrade scenarios the “Previous Site Path” Web application might show as a GUID in the drop down – however it still works and will re-link the sites.

    Cannot attach Content DB via the Central Administration UI – This is handled with very good error messages and will tell you to use stsadm if it needs to upgrade the content database due to differences of versions.  You could also use the PowerShell command – mount-SPContentDatabase. The correct syntax of the stsadm command is:

    stsadm –o addcontentdb –url “http;//servername:port/ –databasename Content_DB_Name

    Partial Restores using Full Farm Backup are not supported.  From the UI it looks as though you should be able to select just a PWA instance and backup stuff and then restore from this backup to another farm.  This isn’t supported.  it will only work when restoring to the same farm and the same named /PWA site.  I guess it could be used as a means of restoring the required databases, but you would still need to provision a site on the target server against the databases to get anything to work.

    I am sure we will find more gotchas as we go along, and perhaps even some workarounds to recover from certain issues – but that’s all for now.  Let me know of anything you feel should be added.  I will probably do a more “step by step” posting with a few more details – but the TechNet articles cover those kind of details pretty well.

    Technorati Tags: ,
  • Brian Smith's Microsoft Project Support Blog

    Project Server 2010: Don’t Trash the Cache!

    • 44 Comments

    I was going to use the title asking ‘why are people still deleting the cache?’ until my colleague Corrie came up with this much better one!  Rather than asking why you are still doing it – I am telling you not to!

    I know there is a lot of history behind this one, and for those of you that used Project Server 2007 in its early days there were some challenges such as the ‘check-in pending’ saga that got people in to the habit of deleting the project cache.  We fixed the problem, then we fixed it again (and again) and you should not generally be seeing any issues with leaving your cache alone to do its job.  However, many customers I talk to are routinely deleting the project from the local cache before they open it and then again after they close it! Why!?!  Its job is an important one – it saves you having to pull that data from the server again – which will reduce network traffic, the hit on both the web services and the database, which means they can be getting on and doing useful stuff.

    I’ll also address a miss-conception misconception (thank you Trevor - not addressing the misconception that I can spell...) here that I have heard from a number of customers – the choice of where to load the project from – cache or server?  You don’t have a choice – Project will load it from the cache if it is there, and then load any incremental pieces it needs from the server, to get you the current version of that plan.  In the screen shot below:

    image

    the line actually reads ‘Retrieve the list of all projects from Project Server’.  It does not also read – ‘…and open any I might choose after clicking this link from the server and ignore the local cache’.  You don’t get the choice and you don’t need to choose.

    I’m sure many of you will not have read this far before clicking the comments option to tell me of all the problems you are having.(and I’m sure some of you are still having problems).  First check that you have the latest cumulative updates and service packs.  If you are still really having issues unless you delete the local cached copy then we certainly need to hear about it so we can fix the problem rather than have you waste your time and system resources doing things that you should not need to do.

    I will admit that there can be times when as support engineers we will ask you to remove your local cache to troubleshoot specific scenarios.  The cache itself also has intelligence that allows it to decide that it may have some bad stuff – and it will get a new clean copy of data from the server (symptom of this will be several files in the cache directory with 1,2,3 etc. at the end).  There have also been a few bugs we have worked on recently which ONLY surface when the user has cleared their cache!

    So please, if you have been deleting your cache as a matter of routine, then either stop – or speak to your PMO or IT people and ask why they have you do this – and if we need to fix something else then we can take a look.

  • Brian Smith's Microsoft Project Support Blog

    How to tell which Cumulative Update, Hotfix or Service Pack version of Project Server 2010 and Project 2010 you are running

    • 7 Comments

    I’ll get this information into a KB article too, and I’ll also try and keep this posting up to date as we release each cumulative update or service pack for Project Server 2010 and Project 2010.  If you are not reading this at http://blogs.msdn.com/b/brismith then you may be reading out of date information!

    The version can be different depending where you look, so I will tabulate the version you will see in Control Panel, Programs and Features (binary version) or on the individual binaries – which is also listed in Central Administration under Upgrade and Migration, Check Product and Patch Installation Status – and also the version you will see in the databases.  I’ll mention too various other components that might be of interest.  I have listed just the Project Server KB for the CU – but the DB Version noted for SharePoint assumes that either a SharePoint Server or Server rollup has also been installed.

    As a reminder to get the version from the database there is a table in each SharePoint DB, and each Project Server DB called Versions so a query such as the following will return the current version, which will be the highest Version next to the NULL GUID. 

    USE <PROJECTSERVERNAME>_Published

    SELECT * FROM Versions

    WHERE VersionId ='00000000-0000-0000-0000-000000000000'

    Project Server 2010

    Release Binary Version DB Version KB
    Initial Release 14.0.4763.1000 Project - 14.0.4750.1000
    SharePoint - 14.0.4762.1000
     
    June 2010 CU 14.0.5114.5003 – See KB for individual binary versions – KB will show in Installed Updates Project - 14.0.5114.5000
    SharePoint - 14.0.5114.5000
    KB 2075990
    August 2010 CU 14.0.5123.5000
    See KB for individual binary versions – KB will show in Installed Updates
    Project - 14.0.5114.5000 (no change from June)
    SharePoint – 14.0.5123.5000
    KB 2276341
     October 2010 CU  14.0.5126.5003 Re-released - See KB for individual binary versions – KB will show in Installed Updates Project - 14.0.5114.5000 (still no change from June)
    SharePoint – 14.0.5128.5000
     KB 2394322
     December 2010 CU  14.0.5130.5000  See KB for individual binary versions.  KB will show in installed updates

     Project - 14.0.5130.500

     SharePoint 14.0.5130.5002

     KB 2459258

    February 2011 CU

    14.0.5136.5000
    See KB for individual binary versions.  KB will show in installed updates

    Project – 14.0.5135.5000

    SharePoint -
    14.0.5136.5002

    KB 2475879

    April 2011 CU

    14.0.5138.5000
    See KB for individual binary versions.  KB will show in installed updates

    Project – 14.0.5137.5000

    SharePoint -
    14.0.5138.5001

    KB 2512801

    June 2011 CU

    14.0.6106.5002
    See KB for individual binary versions.  KB will show in installed updates

    Project – 14.0.6105.5000

    SharePoint -
    14.0.6106.5002

    KB 2536600

    If you load Service Pack 1 for Project Server 2010 then you will see Versions of 14.0.6027.1000 for Project and 14.0.6029.1000 for SharePoint.  If you loaded June CU at the same time and did not run the SharePoint Configuration Wizard between loading the SP and the CU then you will just see the latest - the 6105.5000 and 6106.5002 from the table above.

    Project 2010

    Details from Control Panel, Programs and Features, and also the Backstage (File, Help tab), both the main version displayed, and the additional version information.

    Release Binary Version KB
    Initial Release Control Panel - 14.0.4763.1000
    BackStage – 14.0.4760.1000
    Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.4751.1000) MSO(14.0.4760.1000)
    MSO may be different depending on other Office KBs installed
     
    June 2010 CU KB 2075992 will show in installed updates
    BackStage – 14.0.4760.1000
    Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.5112.5000) MSO(14.0.4760.1000)
    MSO may be different depending on other Office KBs installed
    KB 2075992
    August 2010 CU NA – No client release for August.  MSO may change if other Office updates loaded NA
     October 2010 CU

     KB 2413663 will show in installed updates.  Backstage 14.0.5128.5000.  Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.5126.5000) MSO(14.0.5128.5000)
    MSO may be different depending on other Office KBs installed

     

     KB 2413663
     December 2010 CU  KB 2466263 will show in installed updates.  Backstage (File, Help) 14.0.5128.5000.  Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.5130.5000) MSO(14.0.5128.5000)
    MSO may be different depending on other Office KBs installed
     KB 2466263
    February 2011 CU KB 2496946 will show in installed updates.  Backstage (File, Help) 14.0.5128.5000.  Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.5130.5000) MSO(14.0.5128.5000)
    MSO may be different depending on other Office KBs installed
    KB 2496946
    April 2011 CU KB 2516479 will show in installed updates.  Backstage (File, Help) 14.0.5137.5000.  Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.5137.5000) MSO(14.0.5128.5000)
    MSO may be different depending on other Office KBs installed
    KB 2516479
    June 2011 CU KB 2536590 will show in installed updates.  Backstage (File, Help) 14.0.6023.1000.  Under Additional Versions and Copyright Information – Microsoft Project 2010 (14.0.6106.5000) MSO(14.0.6023.1000)
    MSO may be different depending on other Office KBs installed - 6023.1000 relates to SP1 in this example.
    KB 2536590

    Cumulative Update Release Posts

    June 2010 - http://blogs.technet.com/b/projectadministration/archive/2010/07/22/microsoft-project-server-and-sharepoint-2010-june-cu-2010-are-live.aspx

    August 2010 - http://blogs.technet.com/b/projectadministration/archive/2010/09/02/microsoft-project-server-and-sharepoint-2007-and-2010-august-cu-2010-are-live.aspx

    October CU - http://blogs.technet.com/b/projectadministration/archive/2010/10/27/microsoft-project-server-and-sharepoint-2007-and-2010-october-cu-2010-are-live.aspx

    December CU - http://blogs.technet.com/b/projectadministration/archive/2010/12/15/microsoft-project-server-and-sharepoint-2007-and-2010-december-cu-2010-are-mostly-live.aspx 

    February 2011 CU - http://blogs.technet.com/b/projectadministration/archive/2011/02/24/microsoft-project-server-and-sharepoint-2007-and-2010-february-cu-2011-are-live.aspx

    April 2011 CU - http://blogs.technet.com/b/projectadministration/archive/2011/04/29/microsoft-project-server-and-sharepoint-2007-and-2010-april-cu-2011-are-live.aspx

    SP1 - http://blogs.msdn.com/b/project/archive/2011/06/28/announcing-the-release-of-service-pack-1-sp1-for-microsoft-project-and-project-server-2010.aspx

    June 2011 CU - http://blogs.technet.com/b/projectadministration/archive/2011/08/22/microsoft-project-server-and-sharepoint-2007-and-2010-june-cu-2011-announcement.aspx

    Links to all the Cumulative Update Webcasts, and other great update links can be found at http://technet.microsoft.com/en-US/projectserver/gg176680.aspx

  • Brian Smith's Microsoft Project Support Blog

    Project Server 2010: Orphan baselines breaking the reporting publish

    • 20 Comments

    *** Update 7/31/2013 - This was fixed in the June 2012 Cumulative Update for Project 2010 – and was a client fix - http://support.microsoft.com/kb/2598351.  Customers can load the latest Cumulative Update for Project 2010 and it will include this fix.  The fix will stop the problem happening again but does not fix up any existing issues – so they may need to clean up the database using the guidance below.  If you need help then open a support incident with us – we do not charge for bug related incidents – so we can help you through this.  You should also use the feature on the server to control which patch level  of Project 2010 can connect to Project Server to ensure that this problem is not re-introduced by a user with an unpatched version of Project 2010. ***

     

     

    This problem has been around for a while and I know some customers were running into it very soon after the release, but we had been struggling to get a repro and understand exactly what was causing it.  We now understand the root cause and have a fix coming hopefully in the June 2012 Cumulative Update for Project Professional 2010 (no promises – but that is the current target) and there are some ways of working that can limit your chances of running into this – so decided we should share this to avoid continued inconvenience until we get the fix out there.

    First lets take a look at the symptoms.  The most usual indication of the problem, as the title suggests, is orphan baseline values leading to the error when publishing – a Failed But Not Blocking Correlation problem on a Reporting (Project Publish) job that will show several of the following errors if you click through for the error details:

    ReportingProjectChangeMessageFailed (24006) - The INSERT statement conflicted with the FOREIGN KEY constraint "FK_MSP_EpmTaskBaseline_ProjectUID_TaskUID". The conflict occurred in database "ProjectServer_Reporting", table "dbo.MSP_EpmTask". The statement has been terminated..

    GeneralQueueJobFailed (26000) - ReportingProjectPublish.ReportProjectPublishMessageEx

    These failures are for the reporting job – so will mean that reports based on the reporting database, and any fresh OLAP cube builds could be missing data.

    Sometimes there may also be a crash on saving, either with a fairly generic MSSOAP 16 Send Incomplete error from Project Professional 2010 (though a subsequent save will work fine), or from PWA a queue error -

    GeneralQueueException (9131) A Project Operation failed due to a Queue Exception. Sub Job ID is: . Exception details are: System.NullReferenceException: …at Microsoft.Office.Project.DataEdit.Assignments.AssignmentCalendarUpdateHelper.ConvertActualContourToElapsed(,,,

    There may then be issues with users accessing timesheets – The view failed to load.  Press OK to reload this view… (and OK will not help).

    image

    The error that will be found in the ULS logs will refer to a Calendar whose UID cannot be found…

    Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Statusing.StatusingGetMyWorkForGridJson System.InvalidOperationException: CacheProjectBaseCalendars could not find project calendar for project. CalUid=0c13de33-2a07-4310-b091-c77990d9dd6a   

    The root of all these issues is that when you use any of the Save & Send options (XML, CSV, Excel etc.) that we are incorrectly changing some of the GUIDs associated with entities such as the tasks and calendars.  Now this isn’t affecting the main tasks and assignment GUIDs as these bad values are not persisted back to the database – but we do however create a new baseline for these non-existent new task GUIDs, and can also save a bad calendar GUID – which leads to the Timesheet problem.

    First the best way to avoid this issue, and then on to the detection and clean up at the database level.

    If you do need to use Save & Send then the best practice until we release the fix for this is to first save the plan to the server, and publish if you need to.  Then do whatever you need to with Save & Send, and then immediately after this – close and check in the plan – but do not re-save to the server.  Discard changes if it asks – but of course you will have needed to save BEFORE you did the Save & Send (just making sure you are paying attention) to avoid losing any changes you really needed.  As the bad stuff will also get persisted to the local cache, this is one of those rare occasions when you will find me suggesting that the project is removed from the local cache – after ensuring that the save and check-in completed successfully.

    WARNING – the following steps are direct queries against the Project Server databases – please be sure you are working against the right databases when using these – and have a database backup should any problems occur.

    The detection of this condition is pretty straightforward, as we are just looking for baselines that exist for a task that does not exist, so the following query executed against the Draft database will do this (Change the name to match your specific DBs – the default ProjectServer_ names are used below:

    -- Detect for orphan baseline task records that can cause reporting publish job failures.

    USE ProjectServer_Draft -- specify the appropriate draft database

    select PROJ_NAME, MTB.PROJ_UID,TASK_UID,TB_BASE_NUM from MSP_TASK_BASELINES MTB
    inner join MSP_PROJECTS MP on MTB.proj_uid=MP.proj_uid
    where TASK_UID not in (select TASK_UID from MSP_TASKS)

    This will return rows if the condition exists – and identify which projects – as before clean-up you will probably want to get them removed from the PM’s local cache as otherwise they could be re-introduced.

    The next scripts do the cleaning up in the DB, and they are simply deleting baseline records where the tasks are non-existent.

    -- Script to run on the draft DB
    USE ProjectServer_Draft -- specify the appropriate draft database

    delete from MSP_TASK_BASELINES where TASK_UID not in (select TASK_UID from MSP_TASKS)

    -- Script to run on the published DB
    USE ProjectServer_Published -- specify the appropriate published database

    delete from MSP_TASK_BASELINES where TASK_UID not in (select TASK_UID from MSP_TASKS)

    I hope this helps to understand the nature of the issue and ways to avoid it until the fix comes along.  Our apologies for the inconvenience I know this has caused many of our customers – and hopefully for those who have needed to re-run the clean-up scripts regularly this may give a way to reduce the pain.

    If you need any assistance with these steps then feel free to open a support incident – and when I say free I mean free – this is a bug and we do not charge for incidents that are due to bugs (or we will refund – which amounts to the same thing).

    The ULS log entry associated with the initial Queue errors above (for the benefit of the search engines):

    05/01/2012 11:57:55.67    Microsoft.Office.Project.Server (0x1D74)    0x335C    Project Server    Reporting    atwj    Critical    Standard Information:PSI Entry Point:   Project User: REDMOND\brismith  Correlation Id: e1f4e953-7dea-448a-a528-709075c698bf  PWA Site URL: http://brismith8100/PWA  SSP Name: Project Server Service Application  PSError: ReportingProjectChangeMessageFailed (24006) RDS: The request to synchronize change(s) to project Project UID='216733b0-e194-469a-afc3-9235da4ce4c1'. PublishType='ProjectPublish' failed.  Message: 'ReportingProjectChangeMessageFailed'. Message Body: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_MSP_EpmTaskBaseline_ProjectUID_TaskUID". The conflict occurred in database "ProjectServer_Reporting", table "dbo.MSP_EpmTask".  The statement has been terminated. Error:(null)    e1f4e953-7dea-448a-a528-709075c698bf

    and for the Timesheet error:

    05/01/2012 12:13:29.65    w3wp.exe (0x2444)    0x23D8    Project Server    Task Statusing and Updates    btw9    High    CacheProjectBaseCalendars: could not locate data for calendar 0c13de33-2a07-4310-b091-c77990d9dd6a for project 216733b0-e194-469a-afc3-9235da4ce4c1    e5dd4eaf-551a-469b-a3e0-1f60e2f3d1af

    05/01/2012 12:13:29.85    w3wp.exe (0x2444)    0x23D8    Project Server    General    0000    Exception    Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Statusing.StatusingGetMyWorkForGridJson System.InvalidOperationException: CacheProjectBaseCalendars could not find project calendar for project. CalUid=0c13de33-2a07-4310-b091-c77990d9dd6a     at Microsoft.Office.Project.Server.BusinessLayer.TimePhasedDataAccess.CacheProjectBaseCalendars()     at Microsoft.Office.Project.Server.BusinessLayer.TimePhasedDataAccess..ctor(StatusingPageLoadDataSet dataset)     at Microsoft.Office.Project.Server.BusinessLayer.Statusing.ReadStatusTimephasedDataForResource(IList`1 gridChanges, Guid[] vAssnUids, IDictionary`2 assn2proj, StatusingTimephasedPeriod[] tpdPeriods, DateTime tpStart, DateTime tpEnd)     at Microsoft.Office.Project.Server.BusinessLayer.Statusing.<>c__DisplayClass57.<CreateTimephasedDataColumnFiller>b__56(IEnumerable`1 Keys)     at Microsoft.SharePoint.JSGrid.GridSerializer.BuildOutput()     at Microsoft.SharePoint.JSGrid.GridSerializer.ToJson(Serializer s)     at Microsoft.SharePoint.JsonUtilities.Serializer.SerializeToJson(Object o)     at Microsoft.Office.Project.Server.BusinessLayer.Statusing.GetMyWorkForGridJson(JsGridSerializerArguments gridSerializerArgs, String gridChangesJson, String projectAssignmentsMap, Guid viewUid, String timephasedStart, String timephasedEnd, Byte pane, Int32 durationType, Int32 workType, Int32 dateFormat, Boolean clearPersistedProperties, Nullable`1 rowFilterType)     at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.StatusingGetMyWorkForGridJson(JsGridSerializerArguments gridSerializerArgs, String gridChangesJson, String projectAssignmentsMap, Guid viewUid, String timephasedStart, String timephasedEnd, Byte pane, Int32 durationType, Int32 workType, Int32 dateFormat, Boolean clearPersistedProperties, Nullable`1 rowFilterType)    e5dd4eaf-551a-469b-a3e0-1f60e2f3d1af

Page 3 of 96 (476 items) 12345»