Project Server (SharePoint) - Database Collation question.
Hi,
I have been looking at the performance of our SharePoint database server and one of its uses is Project Server.
Our databases are set as follows
Project Server Databases (Latin1_General_CI_AS)
SharePoint Server Content Databases (Latin1_General_CI_AS_KS_WS)
TempDB (Latin1_General_CI_AS)
It seems that the Project Server databases should be (SQL_Latin1General_CP1_CI_AS):
https://technet.microsoft.com/en-us/library/ff800813(v=office.14).aspx
e.g.
Database
Collation
Project Server Archive
SQL_Latin1_General_CP1_CI_AS
Project Server Draft
SQL_Latin1_General_CP1_CI_AS
Project Server Published
SQL_Latin1_General_CP1_CI_AS
Project Server Reporting
SQL_Latin1_General_CP1_CI_AS
SharePoint Server Content
Latin1_General_CI_AS_KS_WS
I may be worrying unnecessarily but my understanding was that the tempdb should be the same collation as the user databases (where possible). With the SharePoint content and the Project Server databases on the same instance this is not possible.
Should I...
1. Not worry about it (the performance impact is negligable).
2. Create seperate instances so that the TempDB can match the user databases (I am worried that the overhead of an extra instance will be more than the overhead of different collations).
3. Implement Contained/Partially contained databases (new possible option)
4. Something else?
Also how bad is it that the Project server databases are Latin1_General_CI_AS rather than SQL_Latin1General_CP1_CI_AS.
Thanks in advance
Shaun
Hi Prasanna,
thank you for taking the time to respond.
From the link - I read this as Microsoft insisting that you use Latin1_General_CI_AS_KS_WS for the SharePoint content databases and recommending it for the system databases including TempDB?
Our TempDB is not the same collation as the SharePoint content databases but the same as the Project Server databases. Which brings me back to my original questions.
From the Technet article:
The following TechNet Article talks about the SQL Server collation for the SharePoint databases
http://technet.microsoft.com/en-us/library/cc288970.aspx#section1
“The SQL Server collation must be configured for case-insensitive. The SQL Server database collation must be configured for case-insensitive, accent-sensitive, Kana-sensitive, and width-sensitive. This is to
ensure file name uniqueness consistent with the Windows operating system.”
However, we do not support changing the default collation (Latin1_General_CI_AS_KS_WS) for SharePoint databases to any other collations (CI, AS, KS, WS).
We support any CI collation for the SQL instance (for master, tempdb databases). However we
recommend using Latin1_General_CI_AS_KS_WS as the instance default collation (master, tempdb databases).
Similar Messages
-
Renaming Project Server 2010 database server
Hi all,
We have Project Server 2010 + SQL Server 2008 R2, but we need to upgrade DB to cluster SQL Server 2012 Enterprise Edition
SP1 CU7.
Is it ok if we rename Project Server DB server , for example from DBSER05 to DBSRVCL07\APPDB ?As you planning to upgrade SQL server from 2008 r2 to sql server 2012 enterprise edition SP1 CU7.
In this case you have to create your farm from scratch. You have to Create your APP server and FE server all together from scratch and then you have to give your new DB server name DBSRVCL07\APPDB while creating farm.Once you run the configuration
wizard their you have to specify the NEW DB name DBSRVCL07\APPDB it will create Sharepoint config and content.
then you can restore your current project server DBs on new DB cluster server DBSRVCL07\APPDB and create project WEB APP where you can point restored project server DBs.
It means it would be all together back up and restore on new hardware.
i am just guessing if you think you will only upgrade Sql server, create cluster and rename proejct server DB server name in the existing farm that will not work.
Only approach is take back up and restore onto new infrastructure.
http://azlav.umtblog.com/2011/06/07/project-server-2010-database-restore-part-i/
if we rename Project Server DB server , for example from DBSER05 to DBSRVCL07\APPDB-- If you will only rename project
server DB server name then it wont work as project server also uses sharepoint config and content DB which are setting on old DB server name(we give db server name while running wizard) and it will throw errors.
kirtesh -
Project Server 2012, SharePoint 2013
I have a task with a few attached issues, risks and documents. And I see links to that in the PWA project plan (as icons).
But when resource open his PWA task pane attachment lists (issues, risks and documents) are empty.
Why? How to add documents in that lists?Hi,
I have a solution that might work for you, please follow steps below:
1) Go to your project schedule, make a small modification to any task on schedule and 'Publish' the project.
2) While your project is being published and saved, open another window
Server Settings -> Manage Queue Jobs
3) Here you can view the progress of your current Project Publishing update, check if all goes smooth and your project is published successfully without indicating any errors of issues like :
Reporting transfer WSS links failed ( to view any error look at the last column of table on Manage Queue Job page)
4) Also in your Project window see if the project is published and not saved as Draft.
Basically this will give you a fair idea of your project being published or not, if not that there is some problem with your Lists ( Risks, Issues and Documents).
Regards -
How to find Project Level Text Custom Fields in Project Server 2010 databases?
Hello,
We are using Project Server 2010 SP2 in SEM Mode. We are planning to use Project Level Local Custom fields and we want to pull them in reports using SSRS, so I am wondering which table these "Local" (non enterprise) custom fields are stored in
database.
Any suggestions?
Regards,
Kishore Dodda
Kishore DoddaHi,
Please see this
similar thread about reading local custom fields though the PSI.
Hope this helps,
Guillaume Rouyre, MBA, MVP, P-Seller | -
Project Server Creating database views
Hi All,
We are using project server 2013. We need to create some database views to generate some complex report, what is the best way to create. I think if we create any custom views inside the project server databse, will be removed while applying the service pack.
Thanks in advance, TajAssuming you are talking for an On premise installation,
You won't have problem if you create custom views within database as long as its referencing reporting objects, it is supported and documented on
Technet
Excerpt from Technet
Schemas are documented only for the reporting tables and views.
For an
on-premises Project Server installation, you can add reporting tables
and views for entities that are not defined in the Project database
schema. You can also create separate databases for custom on-premises
applications. Modification is not supported for the draft, published,
and archive tables and views. Because the Project database is not
directly accessible in Project Online, reporting tables and views cannot
be modified. However, if you have a SQL Azure account, you can create
separate databases for custom use with Project Online.
Thanks | Sunil Kr Singh | http://epmxperts.wordpress.com -
Replication of Project Server 2010 databases from Production to Development
HI
We have One Production, One Development and One QA server but the Production data is not matching with the Dev and QA.
Now our client is asking is there any possibility that we can copy the production data bases and replicate in the Dev and QA.
Is there any auto sync method where the production data updates will be updated in Dev and QA automatically.
Our environment is Project Server 2010 4 PWA data bases and 1 config data base and 1 config data base for project sites.
Please suggest a best possible way to solve this issue as i thought to take the the PWA back up frm central admin along with the 4 db back up from pwa--- 6 db back up from sql server---- restore all of them in the Dev and QA---i don't think it is the right
approach.
Thanks
Geetha
Geeth If you feel that the answer which i gave you is Helpful please select it as Answer/helpful.As per your First post you only want to update the data of DB on regular basis.
Now you are talking about back up restore Please be clear what you want .
If you have all the configuration ready on qa and dev then only replication need to be done.
can i use the replication mechanism for all the 5 databases in PS 2010 at time won't be a problem right
? YES
other wise
If i want to copy the PWA configuration part can i use play book or any other steps i need to perform.
YES
We have some workflows on PWA instance. Create workflow on Dev and QA
kirtesh -
Project Server 2010 / Sharepoint 2010 Permissions not syncing to Project Site
Project Permissions not syncing to Project Site
Project Manager Group
New project is created and published project server sends permissions to Sharepoint which puts users into the following groups:
<dir><dir></dir></dir><dir><dir>
Web Administrator (Microsoft Project Server)
Project Managers (Microsoft Project Server)
Team members (Microsoft Project Server)
Readers (Microsoft Project Server)
At this time the creator/owner, owner’s management, portfolio managers, and executives should all have Project Manager rights on the sharepoint site, and Admins will have Web Admin permissions.
Issue #1: Only the Web Admin permissions and creator/owner permissions are being added to the Sharepoint permission groups
Workaround #1: Going into the project site permissions and adding the
Project Managers (Microsoft Project Server) group manually and the sync will keep the permissions
Workaround #2: Going into the Server Settings, Manager Groups then removing or add all users to the No Permission Group, which forces an sync to all workspaces. Con: This workaround can only be down at night when users are not active since it will
block the queue for at least an hour.
Project Owner Transfer
Previously created project has owner change, once saved and published project server sends permissions to update user’s permission to
Project Managers (Microsoft Project Server) on Sharepoint project site.
Issue #2: When Project owner is changed and project is published the owner is not getting permissions to the Sharepoint project site. However, if owner is also added to the team using the Build Team Feature the sync will give the owner Project
Manager permissions on the Project Site.
Workaround #1: Going into Server Settings, Project Sites, select project and Synchronize. Once this is done, the owner will have Project Manager Permissions without being added to the team.
Users who have been added to this project in Project Server 2010, but not assigned to tasks. Users who have assignments in this project in Project Server 2010 and are contributors to the project workspace site,
meaning that they can create and edit documents, issues, and risks. Users who have published this project or who have
Save Project permission in Project Web App and are contributors to the project workspace site, meaning that they can create and edit documents, issues, and risks. Users who have
Manage SharePoint Foundation permission in Project Web App and are contributors to the project workspace site, meaning that they can create and edit documents, issues, and risks.</dir></dir>By default when you create project build team add users in the task and publish the project plan then All the User which are available in the project plan including Project owner will go to below mentioned group in project site:
1. creator/owner, owner’s management, portfolio managers, and executives should all have Project Manager will get access to Project Managers (Microsoft Project Server)
2. User who are having team member access to PWA will get Team members (Microsoft Project Server) access if they are assigned to the project task.
3. User who are having team member access to PWA will get Readers (Microsoft Project Server) access if they are not assigned to the project task.
4. Only PWA Administrator will get the access to Web Administrator (Microsoft Project Server)
Sharepoint permission you have to use when you want to give permission manually to users on project site
In the Project Site provisioning setting under Server setting if you have Check to automatically synchronize Project Web App users with Project Sites when they are created, when project managers publish projects, and when user permissions change in Project
Server.
Then all the user get access as per describe above and if you will give access manually to any of the user either in project server group or in Sharepoint group once you will publish the project next time all the manually given permission will go away.
IF you want to give permission to user manually to sharepoint group or project server group then uncheck automatically synchronize Project Web App users with Project Sites when they are created, when project managers publish projects, and when user permissions
change in Project Server.
You check PWA site setting --> Site permission then member of Sharepoint group user who will have access to sharepoint group in PWA site setting site permission will have access to all the project site sharepoint group as Project site inherit permission
from PWA root site.
Both the issue which you have described is behavior of project site.
For issue 2 when first time project owner create and publish the project and projectsite is getting created then porject owner name gets access in the porject manager (project server group) nect time if you will change the owner and publish the project
until he will not present in the project plan will not get the permission.
If you want to give sharepoint permission to users then uncheck automatically synchronize Project Web App users with Project Sites when they are created, when project managers publish projects, and when user permissions change in Project Server and give
the permission manually.
Project site in 2010 has some issue and not full filling customer need some time ,Ms has came up with 2013 which is having tight integration with project sites .
Project workspace security groups are equal to the SharePoint Server 2010 security groups.
Web Administrator equals Full Control
Project Managers equals Design
Team members equals Contribute
Readers equals Read
Users who have Manage
SharePoint Foundation permission in Project Web App and are contributors to the project workspace site, meaning that they can
create and edit documents, issues, and risks will get access to Web Administrator (Microsoft Project Server)
http://technet.microsoft.com/en-us/library/cc197668(v=office.14).aspx
kirtesh -
Hello,
Can anyone guide me how to access the calendar exception details from Project Server using PSI?
I need to extract calendar details of enterprise resources , like exception name, exception type, exception start date and exception end date into my SSRS report hosted in SharePoint 2013 and 2010.
I would be helpful if I can get a sample of this. I have read through many PSI documents in fact still going through ,what PSI does and doesn't , PSI methods etc. from Project Server SDK and MSDN . Moreover, I
am a beginner in .NET programming. I am confused and have lots of questions in my mind, like which PSI service should be used in my report(is it just Calendar.svc), can we pull the details as XML type data source my SSRS report ,are
there any other configuration settings apart from " setting up an event handler by installing an event handler assembly on each Project Server computer in the SharePoint farm, and then configuring the event handler
for the Project Web App instance by using the Project Server Settings page in the General Application Settings of SharePoint Central Administration" (as per prerequisites for PSI in SDK) , how can I implement authentication settings
-(when user with proper SharePoint permission
can accesses the SSRS report )
Kindly bear with me if my questions are not appropriate .
Please do guide me, and .
Thanks in Advance!!
Mridhula
Mridhula.SHi Brendan,
Project server reporting database doesn't contain the calendar info. The only supported way to use the PSI to read the calendar info from Published database.
See this
reply from Amit.
Hope this helps,
Guillaume Rouyre, MBA, MVP, P-Seller | -
Hi,
When migrating from a Prod Environment to a Test Environment using the Project Server 2010 5 Database backup and restore process (actually 6 DB's with the Project Sites DB), upon encountering a failure during provisioning the PWA Instance, we get the errors listed
at the base of this posting in our Event Logs.
To clarify what we have done already, we have:
1. Backed up the 6 databases from the Source Environment.
2. Removed the existing PWA_Content and PWS_Content (Project Sites) databases from the Target Environment Farm.
3. Restored the 6 databases in the Target Environment.
4. Given the SP Farm Service Account 'db_owner' rights to each of the 6 restored databases.
5. Added the PWA_Content and PWS_Content databases (exact same names) to the Target Environment.
6. Locked down (offline/stopped), all of the SharePoint Content databases in the Farm except for the PWA_Content database.
7. Run the PWA Provisioning process from the 'Project Server' SharePoint Service in Central Admin.
It is during the PWA provisioning that we encounter these errors.
As the Target Environment is for Test/Dev purposes, the SP Farm Service Account is setup to support all of the SharePoint Farm Services, is in the Local Admin Group of each of the Servers (App, WFE and DB), and is actually in the sysadmin
role on the DB Server.
Any suggestions on what is causing this denied access situation would be most appreciated.
Cheers,
Wayne
Event Log Entries:
============================================
Log Name: Application
Source: Microsoft-SharePoint Products-Project Server
Date: 1/22/2014 2:47:34 PM
Event ID: 6971
Task Category: Provisioning
Level: Error
Keywords:
User: ACCOUNTS\svc_psfarm
Computer: SERVER.accounts.domain.com
Description:
Failed to provision site PWA with error: Microsoft.Office.Project.Server.Administration.ProvisionException: Membership synchronization failed. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at Microsoft.SharePoint.Library.SPRequest.AddRoleDef(String bstrUrl, String bstrName, String bstrDescription, Boolean bHidden, Int32 lRoleOrder, UInt64 iPermMask, Byte iType, Int32 lRoleDefID)
at Microsoft.SharePoint.SPRoleDefinitionCollection.AddCore(SPRoleDefinition role)
etc....
Failed to create the Report Center web (Exception: PSI Entry Point:
Project User: DOMAIN\svc_psfarm Correlation Id: c0a30b18-46e4-4447-b469-f8fd3bb1490a
PWA Site URL: http://pstest2010/PWA
SSP Name: Project Server
PSError: NoError (0))
Failed to grant 'DOMAIN\svc_psfarm' access to web application 'SPWebApplication Name=Portal'.
Error: System.Security.SecurityException: Access denied. Only machine administrators are allowed to create administration service job definitions of type: Microsoft.SharePoint.Administration.SPUpdateWorkerProcessGroup, Microsoft.SharePoint, Version=14.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c.
at Microsoft.SharePoint.Administration.SPAdministrationServiceJobDefinition..ctor(String name, SPService service, SPServer server, SPJobLockType lockType)
at Microsoft.SharePoint.Administration.SPUpdateWorkerProcessGroup..ctor(SPTimerService timerService, String[] loginsToAdd, String[] loginsToRemove)
at Microsoft.SharePoint.Administration.SPWebApplication.GrantAccessToProcessIdentity(String username, SPPolicyRoleType policyRole)
at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.GrantAccessToWebApp(List`1 webApps, String userName) The Zone of the assembly that failed was: MyComputerIs the Test and Production in the same domain. If they are not, then the SIDs associated with the SQL accounts may look the same but they are not. At times, I have had to recreated accounts when in different domains.
I would also use PowerShell cmdlets and see if it finds any issues, such as Test-SPContentDatase.. Validate the SharePoint content databases, because if not setup properly the Provisioning will fail.
Also check these properties.
$web=get-spweb http://prodproj01/pwa
$Web.AllProperties[“PWAURL”] ### see what the value is.. you may have to blank it out, specially if it is pointing to a different URL
Here is how to fix.
$Web.AllProperties[“PWAURL”]=””
$web.Update()
Michael Wharton, MVP, MBA, PMP, MCT, MCTS, MCSD, MCSE+I, MCDBA
Website http://www.WhartonComputer.com
Blog http://MyProjectExpert.com contains my field notes and SQL queries -
Project Server 2010 Task page - An unknown error has occurred
Hi All,
I have searched inside the forum for similar problems but i didn't find any solution.
We have Project Server 2010 with December CU installed and
we are
experiencing
a serious
problem with two enterprise resources.
They can login to pwa succesfully but when they enter in the Task page the following error is raised:
An unknown error has occurred
There are no errors reported in the event viewer while in the ULS Log I found only this entry but i don't know if it's related with this issue:
Detected use of SPRequest for previously closed SPWeb object. Please close SPWeb objects when you are done with all objects obtained from them, but not before. Stack trace:
at Microsoft.SharePoint.SPWeb.get_CurrentUser()
at Microsoft.Office.Project.PWA.PJContext.get_RegionalSettings()
at Microsoft.Office.Project.PWA.PJContext.get_LocaleCulture()
at Microsoft.Office.Project.PWA.WCFContext.AuthenticateUser(Message message, WCFContext& wcfContext, String userName, Boolean isWindowsUser)
at Microsoft.Office.Project.PWA.WCFContext.GetContext(Message message, String userName, Boolean isWindowsUser, Boolean newCookie, Uri originalTargetUri)
at Microsoft.Office.Project.Server.ProjectServerRouter.Microsoft.Office.Project.Server.IProjectServerRouter.ProcessMessage(Message message)
at SyncInvokeProcessMessage(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.InputQueue`1.AsyncQueueReader.Set(Item item)
at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread)
at System.ServiceModel.Channels.InputQueue`1.EnqueueAndDispatch(T item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
at System.ServiceModel.Channels.InputQueueChannel`1.EnqueueAndDispatch(TDisposable item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, ItemDequeuedCallback dequeuedCallback, Boolean canDispatchOnThisThread)
at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, ItemDequeuedCallback dequeuedCallback)
at System.ServiceModel.Channels.HttpChannelListener.HttpContextReceived(HttpRequestContext context, ItemDequeuedCallback callback)
at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
at System.ServiceModel.PartialTrustHelpers.PartialTrustInvoke(ContextCallback callback, Object state)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequestWithFlow(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
It's not a task related errors because i have alredy done an analysis of the resorce's assignments.
I have also verified IIS authentication settings as described in this
post but all had been alredy correctly configured.
We have a farm installation with two physical server:
Application Server with Windows 2008 R2, SharePoint 2010 Enterprise, Project Server 2010
Database Server with Windows 2008 R2 and SQL Server 2008 SP2
Any help would be greatly appreciated!
Thanks in advance.
RaffaeleHi,
I faced exactly the same problem: some resources try to connect to My Tasks, and get an Unknown error. No error message in ULS or Eventlog.
I hope I solved the problem, and want to share the experience here.
First, by reading this article,
http://www.projectserverexperts.com/ProjectServerFAQKnowledgeBase/Unknown%20Error%20My%20Tasks%20Page.aspx: even if the SQL Query returns me no records, it gives me the idea to delete (unpublish) some tasks (i managed to identify some tasks which raised
the problem, by assigning a test account on them, and see that the pb happened).
So I decided to delete my project from the Published Database (and keep it in the Draft of course). Than in Project Pro, I opened and Published: the problem seem to be solved.
I don't know the root cause of the pb: maybe some SQL data were corrupted for an unknown reason.
Hope it could help some one ! Don't hesitate to give feedback if you solved this pb with this solution, or workaround.
Sylvain -
Dear Sirs,
I need your support over the following MS EPM 2013 issue:
Publication of the big-sized Enterprise projects from Project Professional 2013 to Project Server 2013 takes about 30+ minutes. We
need to reduce this total publication time down to acceptable working values 10+- minutes.
Environment information:
Single App Server (Virtual): 16 Gb RAM, x64 4xCPU, HDD > 50 GB free disk space, OS Windows Server 2012 Standard Edition x64 Service
Pack 1, MS SharePoint Server 2013 and MS Project Server 2013 with CU December 2013 (KB 2850024) applied.
Single RDBMS MS SQL Server (Virtual): 8 Gb RAM, x64 4xCPU, HDD > 200 GB free space, OS Windows Server 2012 Standard Edition x64 Service
Pack 1, MS SQL Server 2012 x64 SP 1 Enterprise Edition.
We have 1Gbit LAN between APP, DB server and 1Gbit LAN between APP and Proj Prof Client.
Yes, we are on the way of migrating to the Prod environment
with 3-tiered architecture (with SP1 slipstream and CU December 2014 applied), but this issue also
presents there.
Project’s file information:
Tasks in the file: [~4900], resources in the file [~396] enterprise task’s custom fields used in the file [~23].
Project save procedure for this new project would last about 7 minutes. Project publication would last about 47 minutes. We noticed that
tasks synchronization process took about 1 second for each ~2,5 tasks, to add them to the sharepoint tasks list. So for all 5148 tasks it took about 5148/3/60 = 34 minutes. Other 13 min was used for reporting database publication and other tasks relevant
for new sharepoint site creation.
Case 1: Issue description:
During the Enterprise project’s file save and publication we have the following sharepoint 2013 log messages:
07.31.2014 12:43:17.22 Microsoft.Office.Project.Server (0x0358) 0x3D5C SharePoint Foundation Monitoring b4ly High Leaving Monitored Scope
(Persisting list changes). performing time =376.068676326181 22dca99c-4696-70f1-e9e2-06851d0bcffd
07.31.2014 12:43:17.69 Microsoft.Office.Project.Server (0x0358) 0x3D5C SharePoint Foundation Monitoring b4ly High Leaving Monitored Scope
(Persisting list changes). performing time =361.652807828928 22dca99c-4696-70f1-e9e2-06851d0bcffd
It shows that sharepoint spend at least ~350 milliseconds (or 0,35 sec*4900 tasks = 1715 sec, or 28,5 min) for each task update during
project publication. And we also have another log file that shows that about 0,7 sec (or 0,7 sec*4900 tasks = 3430 sec, or 57 min) sharepoint spend for save each task in project file to project server. So total save and publication time more then 60+ minutes
for that project file. The same result we have even if user didn’t do any changes at the project file.
We use only enterprise projects (dbo.MSP_EpmProject_UserView.projectvisibilitymode = «False»), and do not use sharepoint tasks lists,
but the synchronization between MSP Plan and SharePoint tasks list works at any case.
Case 2: Issue description:
- For the second test we created a new project with new sharepoint project’s site on basis of our «issue» project, with total amount
of tasks in it of 5148 (yes, we increased the tasks list default limit at the sharepoint site up to 6000 items in it – standard limits for sharepoint view list – 5000 items).
- Project save procedure for this new project would last about 7 minutes. Project publication would last about 47 minutes. We noticed
that tasks synchronization process took about 1 second for each ~2,5 tasks, to add them to the sharepoint tasks list. So for all 5148 tasks it took about 5148/3/60 = 34 minutes. Other 13 min was used for reporting database publication and other tasks
relevant for new sharepoint site creation.
-Then we deleted the
tasks list for that new test project from the sharepoint site and republish the project plan one more time. This time project save procedure took about 7 minutes, project publication about 2 minutes and 3 minutes for other relevant queue jobs. So total time
is 12 minutes.
As a conclusion: yes, we have determined
the exact problem - during synchronization process (from Project Server to SharePoint) it perform copying all tasks and related data from Project to SharePoint in spite of fact that you changed only ONE task or ALL of them. At any case, synchronization will
copy ALL of them from Project Server to SharePOint task’s list.
Our workaround is to disable the task’s synchronization for such big-sized project plans:
– to delete the SharePoint «tasks» list at the SharePoint site tied with project plan.
- or deattach the SharePoint site from the project plan.
Thank you for reading this topic, please if you also forced with such issue provide us any known workaround or maybe any official response
\ feedback from MS about it.
Thank you in advance,
Best Regards, AndreyRegarding my topic, I also said that every time when sync works it updates All items from project’s plan at Project Server to corresponded task’s list at SharePOint server. Inspire of the fact that you changed only One task or group /
all of them at your project’s plan.
And it seems to me and my colleagues that it’s probably (maybe) a “bug” at the product. Here is what we have if looked a little bit closer to the code:
Share Point determines what task to sync from Project’s plan to sharepoint list. To do that sharepoint needs to know was that task changed or not, based on the following fileds (check SQL stored procedure “[MSP_READ_TASKS_FOR_SYNCRONIZATION]”):
TASK_UID TASK_NAME TASK_START_DATE TASK_FINISH_DATE TASK_PCT_COMP TASK_PARENT_UID TASK_OUTLINE_NUM
WSS_LISTITEM_UID TASK_ID TASK_IS_ACTIVE
We noticed that at any case synchronization performs for all tasks, EXCEPT the ROOT one. Then we looked at the comparison of TASK_PARENT_UID field. So sharepoint compares TASK_PARENT_UID with ParentID (this is internal name for lookup
field “Tasks” at the Sharepoint, and it stores their values at the format "ID;#Title").
And comparison performs like following:
SharePoint looks for Task at the Tasks’s list corresponded to Project’s plan with ID represented at the TASK_PARENT_UID field. Then it takes SharePoint ListItem ID (“int” type) and store it to the “num” parameter;
num = this.GetCachedListItemByUniqueId(listItem.ParentList, nullable.Value).ID;
2.Then it compares “num” with task’s “ParentID” at SharePOint as follow with operator “!=”:
((SPItem) listItem)["ParentID"] != (System.ValueType) num
3. If comparison was success (true) – then it tell us that values (at the Project’s plan for tasks) was changed, then it need to be synchronized. Corresponded Method setup “true” flag, and then returns it.
The “bug” is that this expression at the Step 2 will always return “true”, because in fact it compares “string” (see above – that this is lookup field at SharePoint side)
with “number”. For example if the parant task ID is “55”, then we get:
"55;#Task 1" != 55
And by the rules of .Net the “string” will never equal “number”
Furthermore this is approved by the SharePoint logs:
In that case we always get the note “Setting ParentID to” at the logs (we see it if turns on Verbose for “Project Server” -> “Sharepoint Integration” category).
So at any case of publishing project’s plan we always get that note at the logs for tasks that have Parent task, and we have Parent for all of them EXCEPT the ROOT one, exact logs represented further:
10/15/2014 02:37:32.26 Microsoft.Office.Project.Server (0x07D8) 0x06E8 Project Server Sharepoint Integration ado0d
Verbose Setting ParentID to 1 bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.62 Microsoft.Office.Project.Server (0x07D8) 0x06E8
Project Server Sharepoint Integration ado0d Verbose
Setting ParentID to 1 bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.63 Microsoft.Office.Project.Server (0x07D8) 0x06E8 Project Server
Sharepoint Integration ado0d Verbose
Setting ParentID to 1 bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.67 Microsoft.Office.Project.Server (0x07D8) 0x06E8 Project Server
Sharepoint Integration ado0d Verbose
Setting ParentID to 1 bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d 10/15/2014 02:37:32.69 Microsoft.Office.Project.Server (0x07D8) 0x06E8 Project Server
Sharepoint Integration ado0d Verbose
Setting ParentID to 5 bf2fc29c-7727-b00d-fa4a-34f22ea9ec1d
The following is the complete Method’s code from the corresponded reflector:
private bool UpdateParentID(DataSet taskDS, DataRow row, SPListItem listItem, Dictionary<Guid, SPListItem> redoEntries)
bool flag = false;
int index = taskDS.Tables[0].DefaultView.Find((object) DataRowExtensions.Field<Guid>(row, "TASK_PARENT_UID"));
if (index >= 0)
Guid? nullable = DataRowExtensions.Field<Guid?>(taskDS.Tables[0].DefaultView[index].Row, "WSS_LISTITEM_UID");
int num = -1;
if (listItem.Fields.ContainsField("ParentID"))
if (nullable.HasValue)
try
// STEP 1
num = this.GetCachedListItemByUniqueId(listItem.ParentList, nullable.Value).ID;
catch (ArgumentException ex)
if (redoEntries != null)
if (!redoEntries.ContainsKey(DataRowExtensions.Field<Guid>(row, "TASK_UID")))
redoEntries.Add(DataRowExtensions.Field<Guid>(row, "TASK_UID"), listItem);
//STEP 2
if (num != -1 && ((SPItem) listItem)["ParentID"] != (System.ValueType) num)
((SPItem) listItem)["ParentID"] = (object) num;
ULS.SendTraceTag(845443U, (ULSCatBase) ULSCat.msoulscat_PS_ProjectSharepointIntegration, ULSTraceLevel.Verbose, "Setting ParentID to {0}", new object[1]
((SPItem) listItem)["ParentID"]
//STEP 3
flag = true;
else if (((SPItem) listItem)["ParentID"] != null)
((SPItem) listItem)["ParentID"] = (object) null;
ULS.SendTraceTag(2495056U, (ULSCatBase) ULSCat.msoulscat_PS_ProjectSharepointIntegration, ULSTraceLevel.Verbose, "Resetting ParentID to null");
flag = true;
return flag;
Any thoughts about it would be much appreciated! -
Project server 2007 - users amount in reporting services
Hi!
I wanted to know how/where can i found information about how many users defined as reporting services users (users that can access reports from SSRS)
Thank you
Ofir
Ofir Marco , MCTS P.Z. ProjectsHello,
If it was me, I would get the ProjectUID and pass this into the MSP_EPM_DeleteProject stored procedure on the Project Server Reporting database rather than the Reporting DB rebuild. Some say the DB rebuild using the backup and restore option
is "safer" but providing you have full DB backups beforehand then fully test it should be fine. To be 100% safe, I would raise a support ticket with Microsoft if you are not happy with using one of the two options. Regarding the questions you have
- yes take full DB backups of all PWA database before either approach then fully test after. The reporting database will effectively get rebuilt using the backup then restore option for the enterprise custom fields - this might take a long time depending on
the amount of data you have and the specs of the servers. Some links below for Reporting DB rebuilding:
http://www.epmcentral.com/pjadmin/pjserver10/rebuilddb.php
http://www.msprojectnow.com/Blog/tabid/142/entryid/166/Default
Hope that helps :)
Paul
Paul Mather | Twitter |
http://pwmather.wordpress.com | CPS -
Problem with Task Aggregation from Project Server with old Project Server permissions mode.
Hi, I have installed Sharepoint 2013 with all CU, and Project Server 2013 with June CU update. Later, I attached database from old Project Server 2010 database, all was OK, but now I have my PWA with old Project Server permissions mode.
After that I have created MySite with users from AD of my company, it's OK, but Task Aggregation not working. Moreover, I have not any errors on the MyTask page.
You can see that I can insert private tasks, but I can not see any tasks from pwa, however I have a lot of tasks there. Please help me.
My search works well amd WMA Service too.
Where directly crawler search the tasks? Maybe there are errors in search log with that ulrs?Hi,
did you setup the Work Management Service Application in the Central Administration? If yes, please check if the Applicationpool account of the Work Managment Service has full Access to the User Profile Service Application (over the Ribbon | Permissions).
Check also if your Projects are published so that you have a Project Workspace for each Project. In the workspaces you should have a list "Tasks" or "Tasks1" for migrated workspaces. This is important because only Tasks from the workspaces' Tasklist are
shown in the Mysite
In any other cases please check the ULS Log and/or the Application Event log. Especially have a look to Distributed Cache Service and the Feed Cache.
Bernhard Fischer [MVP] | www.wodey.de -
Project Server 2010 - M(one to another)
Hi,
Can anyone send me the steps for migrating project server 2010 from one server to other server?
Also please let me know some of the known issues during migration.
Regards,
K.Gokulraj
K.GokulrajHi,
Since I'm not a DBA, I'm not going into much technical details, but this is quite a common backup/restore procedure which is well documented.
Please find a few links as reference:
http://azlav.umtblog.com/2011/06/07/project-server-2010-database-restore-part-i/
http://azlav.umtblog.com/2011/06/09/project-server-2010-database-restore-part-ii/
http://technet.microsoft.com/en-us/library/dd207290(v=office.14).aspx
http://technet.microsoft.com/en-us/library/ff961887(v=office.14).aspx
Hope
this helps.
Guillaume Rouyre - MBA, MCP, MCTS -
Start with SharePoint & Project Server anew
Hi there,
I am having a lot of issues with my newly installed SharePoint 2013 and Project Server 2013 with a SQL Server 2012. There are several database creation and authentication errors despite using a the recommended administrator accounts. I had success resolving
a few issues but I guess the others are just too much that I'm wanting to delete my 2 site collections and hope to start anew. Now I want to know if deleting the site collections will also delete the project service applications and the PWA database files
and entries in the content database files.
If things come to worse, I am planning to re-install SharePoint and Project Server again. Can I just simply drop the databases related to SharePoint from the SQL server?
I am still learning and hope you can help.
Regards,
TrevHi Trev,
Deleting site collections will not remove any service applications, those are separated. Don't drop the databases from SQL, just try to manage everything from within SharePoint. If you wish to remove any content databases, please do it via the GUI or by
using PowerShell. If you drop databases from SQL, SharePoint will still have references to the databases, which will result in more errors.
Please let me know if you have any further questions.
Nico Martens
SharePoint/Office365/Azure Consultant
Maybe you are looking for
-
Error when attempting to check in a model
Is anyone familiar with this error output when checking in a logical model? Everything has been working fine for a few months. This just started today. Checking in the document 'Y:\My Documents\PowerDesigner\Production\Enterprise Logical Model.ldm'
-
How to rip DVD to iTunes for AppleTV?
Hi all, I am new to the mac world and interested in how best to rip a DVD to iTunes for use in AppleTV? Using 2010 Mac Mini. Thanks!
-
Carriage Return in External table column
Im using Oracle 9.2.0.6 . On Aix. Ive created and external table pointing to a csv file. When I do a select on the last column of the external_table, it contains a carriage return / linefeed. If I try to make the colums specification smaller then it
-
Polling in reader 8.1.1 for Unix
Hi, I am running Ubuntu 7.04 x86 using a custom built kernel 2.6.22, in order to get stats on wakeups per second with PowerTop: http://www.linuxpowertop.org/ Running the recently Adobe Reader 8 for Linux, I noticed a new entry in the "hall of shame"
-
Grid behavior has changed from version 11.5 and 12.1
We are upgrading from 11.5 to 12.1 and notice a problem in some of our reports displaying the Grids. With the Grid Type as Embedded Lights, the light displays as a black circle when there is no value for the column. How do you change this behavior? A