Procedure consigliate per gestire un numero elevato di risorse in Project Server 2010

Project 2010
 

Si applica a: Project Server 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo vengono descritte le procedure consigliate per la gestione degli utenti in un ambiente di Microsoft Project Server 2010 quando i progetti coinvolgono un numero elevato di utenti.

Contenuto dell'articolo:

  • Panoramica delle autorizzazioni per i siti di Project Server 2010

  • Autorizzazioni di Microsoft SharePoint Server 2010 per gli utenti di Project Server 2010

  • Problemi di prestazioni quando viene superato il limite consigliato di utenti per i siti di progetto

  • Ereditarietà delle autorizzazioni dal sito padre di Project Web App

  • Disabilitazione delle impostazioni delle autorizzazioni per i siti di progetto

  • Errori associati al superamento dei limiti di utenti consigliati per i siti di progetto

In Project Server 2010 viene utilizzata la normale infrastruttura di autorizzazioni di SharePoint per impostare il controllo di accesso al sito di Microsoft Project Web App (PWA). Viene inoltre utilizzata la stessa infrastruttura per impostare il controllo di accesso per tutti i siti di progetto (in precedenza denominati siti dell'area di lavoro di progetto) creati per i singoli piani di progetto contenuti in Project Server.

A livello di sito di Project Web App, gli utenti vengono aggiunti a specifici gruppi di SharePoint in base al rispettivo livello di autorizzazione in Project Server. La pagina di impostazioni per i siti di Project Web App contiene gruppi di SharePoint "Microsoft Project Server" per Project manager, Lettori, Membri del team, Amministratori Web e Amministratori flusso di lavoro e pagine dettagli progetto. Gli utenti aggiunti in Project Server 2010 vengono anche aggiunti al gruppo appropriato per il sito di Project Web App a cui sono autorizzati ad accedere. Ad esempio, un utente aggiunto in Project Server 2010 come membro del gruppo di sicurezza Project manager viene aggiunto al Gruppo Project Manager (Microsoft Project Server) in Autorizzazioni sito per la home page di Project Web App, la pagina del centro Progetti, la pagina del Centro approvazioni e tutte le pagine di siti di Project Web App a cui è autorizzato ad accedere.

Le impostazioni di Autorizzazioni sito del sito di Project Web App, oltre ai gruppi di SharePoint "Microsoft Project Server", contengono anche alcuni singoli account utente di SharePoint per gli amministratori delle raccolte di siti e altri account di amministratori di farm. Nella tabella seguente vengono illustrati i livelli di autorizzazione di SharePoint per il gruppo di SharePoint Microsoft Project Server a livello di sito di Project Web App.

 

Nome Livello di autorizzazione

Gruppo Project manager (Microsoft Project Server)

Accesso limitato, Project manager (Microsoft Project Server)

Gruppo Lettori (Microsoft Project Server)

Accesso limitato, Lettori (Microsoft Project Server)

Gruppo Membri del team (Microsoft Project Server)

Accesso limitato, Membri del team (Microsoft Project Server)

Gruppo Amministratori Web (Microsoft Project Server)

Accesso limitato, Amministratori Web (Microsoft Project Server)

Gruppo Amministratori flusso di lavoro e pagine dettagli progetto (Microsoft Project Server)

Accesso limitato

Per i siti di progetto, gli utenti vengono aggiunti direttamente come individui e non vengono aggiunti a specifici gruppi di SharePoint "Microsoft Project Server". Il livello di autorizzazione concesso all'utente è determinato dal relativo ruolo.

Agli utenti di Project Server 2010 viene concesso l'accesso ai siti di Project Server tramite le autorizzazioni di SharePoint Server 2010. Project Server 2010 è basato su Microsoft SharePoint Server 2010 e i siti disponibili tramite Project Server 2010 sono siti di SharePoint.

I due tipi di siti di Project Server 2010 per cui è necessario assegnare autorizzazioni di SharePoint sono i seguenti:

  • Siti di Project Web App (home page di Project Web App, il centro Progetti, il centro Risorse e così via)

  • Siti di progetto (siti di collaborazione per singoli progetti, denominati siti dell'area di lavoro di progetto in Office Project Server 2007.

Per i siti di Project Web App, gli utenti di Project Server 2010 vengono assegnati a gruppi di SharePoint Microsoft Project Server, in base al relativo livello di autorizzazione in Project Server 2010:

 

Ruolo di sicurezza dell'utente Autorizzazioni di SharePoint nel sito di Project Web App
  • Project manager

  • Program manager

  • Manager delle risorse

  • Dirigente

Gruppo Project manager (Microsoft Project Server)

Amministratore

Gruppo Amministratori Web (Microsoft Project Server)

Membro del team

Responsabile del team

Gruppo Membri del team (Microsoft Project Server)

Per i siti di progetto, agli utenti di Project Server 2010 vengono fornite le autorizzazioni di SharePoint illustrate di seguito. Per i siti di progetto, gli utenti di Project Server 2010 vengono aggiunti come singoli utenti di SharePoint che dispongono di specifiche autorizzazioni di SharePoint per il sito:

 

Utente Autorizzazioni di SharePoint nel sito di progetto

Project manager che hanno pubblicato un progetto

Project manager (Microsoft Project Server)

Project manager che dispongono di autorizzazioni Salva progetto per un progetto

Project manager (Microsoft Project Server)

Membri del team con assegnazioni in un progetto

Membri del team (Microsoft Project Server)

Utenti di Project Server con autorizzazione Visualizza sito progetto per un progetto

Lettori (Microsoft Project Server)

In Office Project Server 2007 possono verificarsi problemi di prestazioni nella sincronizzazione degli utenti con i siti di Project Web App perché vengono aggiunti singoli utenti ai siti di Project Web App e ai siti di progetto con specifici livelli di autorizzazione. Quando vengono apportate modifiche alle autorizzazioni degli utenti per il sito, tutti gli utenti che dispongono di autorizzazioni per il sito vengono rimossi e quindi aggiunti nuovamente al sito. Se un sito include un numero elevato di utenti, questo processo può richiedere tempi molto lunghi. Durante l'aggiunta al sito, gli utenti visualizzano il messaggio di errore Accesso negato finché il processo non viene completato.

In Project Server 2010 sono state apportate due modifiche all'accesso degli utenti ai siti di Project Web App per risolvere il problema riscontrato in Office Project Server 2007:

  • Gli utenti che accedono ai siti di Project Web App vengono aggiunti a gruppi di utenti di SharePoint anziché singolarmente.

  • Quando viene eseguita la sincronizzazione, gli utenti vengono rimossi singolarmente e quindi aggiunti nuovamente al sito uno alla volta (mentre in precedenza venivano rimossi tutti gli utenti e quindi aggiunti nuovamente uno alla volta).

Queste modifiche sono state applicate solo per i siti di Project Web App, ai quali solitamente accedono numerosi utenti, e non riguardano invece i siti di progetto. Il motivo è che il numero di utenti che solitamente accede ai siti di progetto è molto più ridotto (in genere si tratta solo delle risorse assegnate al progetto) ed è meno probabile che vengano riscontrati problemi durante la sincronizzazione. Il problema può verificarsi quando si desidera che molti o tutti gli utenti accedano a molti o tutti i siti di progetto, ad esempio se viene aggiunto un numero elevato di utenti al progetto o se viene assegnata l'autorizzazione Visualizza sito progetto a livello di membro del team in una categoria che include molti o tutti i progetti. Tuttavia, in questo caso, è possibile che vengano superati i limiti consigliati del software e i limiti di SharePoint Server 2010. Se si superano questi limiti consigliati, possono verificarsi problemi di prestazioni. Ogni utente aggiunto singolarmente a un sito viene considerato un ambito di sicurezza. Il numero massimo consigliato di ambiti di sicurezza univoci per ogni elenco è 1.000. Ogni elenco e libreria nel sito erediterebbe le autorizzazioni del sito padre e supererebbe questo limite se più di 1.000 singoli utenti dispongono di accesso al sito. Per ulteriori informazioni sulle limitazioni degli ambiti di sicurezza per gli elenchi, vedere Gestione della capacità di SharePoint Server 2010: Limiti software statici e configurabili.

Quando si superano i limiti consigliati degli ambiti di sicurezza univoci, possono verificarsi problemi di prestazioni. Tali problemi si manifestano quando viene apportata una modifica nell'appartenenza al sito dovuta a modifiche nelle categorie o nel gruppo oppure a causa di operazioni come l'aggiunta o la disattivazione di un utente. Uno dei motivi per cui sono stati imposti limiti consigliati per il numero di singoli utenti è che, se tali limiti vengono superati, il processo di rimozione di utenti dal sito può diventare estremamente lento, soprattutto se lo stesso utente viene rimosso da più siti ed è stato superato il limite consigliato per ognuno di essi. Nei casi in cui vengono disattivati più utenti, il server potrebbe non rispondere e non essere in grado di autenticare gli utenti. Pertanto, quando si inizia a superare i limiti consigliati di singoli utenti per un sito, si verifica un problema specifico. Se è necessario gestire gli utenti perché un numero eccessivo di utenti dispone dell'autorizzazione per un sito, il server potrebbe non rispondere. Questa situazione può verificarsi anche quando si tenta di correggere il problema rimuovendo utenti dal sito.

Le procedure consigliate per evitare il problema variano in base allo scopo designato:

  • Se è realmente necessario concedere alla maggior parte degli utenti l'accesso alla maggior parte dei siti di progetto: anziché aggiungere gli utenti singolarmente ai siti, utilizzare i gruppi di SharePoint Server 2010 e quindi l'ereditarietà da Project Web App per aggiungere gli utenti a questi gruppi. Ad esempio, in genere il sito padre dei siti di progetto è la home page di Project Web App. In questo caso, i siti di progetto erediteranno le autorizzazioni della home page di Project Web App, che include tutti gli utenti di Project Web App in gruppi di SharePoint Microsoft Project Server.

  • Se il fatto che molti utenti accedano a molti siti non è intenzionale ed è necessario risolvere il problema: rimuovere l'autorizzazione Visualizza sito progetto dalla categoria che concede agli utenti l'accesso ai siti. È inoltre possibile ridurre il numero di risorse assegnate al progetto. Prima di eseguire una di queste operazioni, è necessario arrestare la sincronizzazione degli utenti con il sito. In caso contrario, il server potrebbe non rispondere.

Per disabilitare la sincronizzazione con il sito di progetto, è possibile scrivere un'utilità che utilizza il servizio Web di amministrazione Project Server Interface (PSI) e imposta l'enumerazione UserSyncSetting (le informazioni potrebbero essere in lingua inglese) su DisablePWS. Chiamare l'enumerazione con il metodo Admin.UpdateUserSyncSetting (le informazioni potrebbero essere in lingua inglese).

 

Nome membro Descrizione

Enable

Valore = 0. Abilita tutte le sincronizzazioni.

DisablePWA

Valore = 1. Disabilita la sincronizzazione con Project Web App.

DisablePWS

Valore = 2. Disabilita la sincronizzazione con i siti di progetto per l'utente.

DisableEmailSync

Valore = 3. Disabilita la sincronizzazione della posta elettronica.

DisableAll

Valore = 4. Disabilita tutte le sincronizzazioni.

È inoltre possibile disabilitare l'impostazione apportando modifiche direttamente nella tabella MSP_WEB_ADMIN del database Published, nella colonna WADMIN_USER_SYNC_SETTING. Per disabilitare la sincronizzazione con il sito di progetto, è possibile eseguire la query SQL seguente:

Update [ProjectServer_Published].[dbo].[msp_web_admin] set [WADMIN_USER_SYNC_SETTING]=2

L'opzione di apportare modifiche direttamente nella tabella MSP_WEB_ADMIN del database Published potrebbe sembrare molto più semplice della creazione e del testing di uno strumento per eseguire la stessa operazione tramite PSI.

NotaNote
Nella maggior parte dei casi, è consigliabile evitare di modificare direttamente il database Published. Inoltre, questa operazione può invalidare il supporto. Tuttavia, l'utilizzo della query precedente per disabilitare la sincronizzazione con il sito di progetto è un'eccezione consentita.

Dopo la disabilitazione della sincronizzazione con il sito, è comunque possibile che si verifichino gli stessi problemi se si tenta di rimuovere gli utenti direttamente dal sito di progetto tramite la funzionalità disponibile nella pagina delle autorizzazioni per i siti di SharePoint. Uno dei metodi per rimuovere rapidamente gli utenti senza eliminarli singolarmente generando il problema consiste nell'ereditare le autorizzazioni dal sito padre. A tale scopo, è possibile utilizzare la barra multifunzione dell'interfaccia utente nella pagina Autorizzazioni sito del singolo sito di progetto (nel menu Azioni sito).

Per ereditare le autorizzazioni dal sito padre al sito di progetto
  1. Nel sito padre fare clic su Azioni sito e quindi su Autorizzazioni sito.

  2. Nella pagina Autorizzazioni fare clic sulla barra multifunzione Modifica.

  3. Fare clic su Eredita autorizzazioni.

  4. Nella finestra del messaggio di avviso indicante che la modifica delle autorizzazioni ereditate potrebbe impedire l'accesso degli utenti al sito, fare clic su OK.

Sulla barra multifunzione viene indicato che il sito erediterà le autorizzazioni dal sito padre, che dovrebbe essere il sito di Project Web App. La struttura di autorizzazioni del sito padre diventerà la struttura di autorizzazioni per il sito di progetto, il che significa che i singoli utenti di Project Web App sono ora inclusi in gruppi del sito di Microsoft Project Server.

Se l'obiettivo finale è concedere alla maggior parte degli utenti l'accesso alla maggior parte dei siti, è consigliabile ereditare le autorizzazioni dei siti di progetto da Project Web App, come descritto in precedenza. Prima di eseguire questa operazione, assicurarsi che il sito di Project Web App includa le autorizzazioni corrette per tutti gli utenti che richiedono accesso. Quando si esegue la procedura per ereditare le autorizzazioni, infatti, l'autorizzazione di cui gli utenti dispongono in Project Web App corrisponde a quella che avranno nel sito di progetto.

Se il numero di siti di progetto è elevato, è possibile utilizzare Windows PowerShell per automatizzare la modifica. Con il comando di Windows PowerShell seguente, tutti i siti di progetto che sono figli del sito di Project Web App padre specificato ne erediteranno le autorizzazioni. È possibile eseguire il comando di Windows PowerShell in SharePoint 2010 Management Shell:

$site = Get-SPSite "<url of PWA>"
     Foreach ($web in $site.AllWebs) {
        $web.Update()
        $web.ResetRoleInheritance()
        $web.Update()
        }
     $site.Dispose()

È necessario eseguire questo comando (o la procedura descritta in precedenza per ereditare le autorizzazioni per il sito) per ogni nuovo sito di progetto, per evitare il ripetersi del problema.

NotaNote
Se si fa clic su Sincronizza nella pagina del sito di progetto in Impostazioni server di Project Web App, l'ereditarietà verrà interrotta. Assicurarsi di non fare clic su questa opzione se si desidera che il sito di progetto continui a ereditare le autorizzazioni dal sito padre di Project Web App.

Negli ambienti in cui tutti i siti di progetto ereditano le autorizzazioni di Project Web App, è possibile che si disponga di determinati progetti contenenti informazioni riservate e che quindi si decida di gestire autorizzazioni e utenti a livello individuale. In questo caso, è possibile utilizzare Windows PowerShell per impostare una proprietà per tali siti, da utilizzare per escluderli tramite filtro in una versione modificata del comando di Windows PowerShell utilizzato per impostare l'ereditarietà, descritto in precedenza.

Per evitare l'aggiunta automatica di utenti ai siti di progetto, è anche possibile disabilitare l'impostazione Autorizzazioni sito di progetto nella sezione Criteri operativi della pagina Impostazioni server di Project Web App. Se questa impostazione è abilitata, gli utenti di Project Web App vengono automaticamente sincronizzati con i siti di progetto ogni volta che viene apportata una modifica alle autorizzazioni in Project Server 2010, quando il project manager pubblica il progetto o quando viene creato il sito di progetto. Se l'impostazione è abilitata e si verifica una di queste situazioni, verranno eseguite automaticamente le operazioni seguenti:

  • I project manager che hanno pubblicato un progetto o dispongono dell'autorizzazione Salva progetto per un progetto vengono aggiunti al sito con autorizzazioni Project manager (Microsoft Project Server).

  • I membri del team con assegnazioni in un progetto vengono aggiunti al sito con autorizzazioni Membri del team (Microsoft Project Server).

  • Gli altri utenti di Project Server che dispongono di autorizzazioni Visualizza sito progetto per un progetto vengono aggiunti al sito con autorizzazioni Lettori (Microsoft Project Server).

Se questa opzione viene disabilitata, l'aggiunta automatica di utenti di Project Server al sito verrà arrestata, ma non verranno rimossi gli utenti già aggiunti.

Per disabilitare le impostazioni delle autorizzazioni per il sito di progetto
  1. Nella pagina Impostazioni server fare clic su Impostazioni di provisioning siti di progetto nella sezione Criteri operativi.

  2. Nella pagina Impostazioni di provisioning siti di progetto deselezionare la casella di controllo Selezionare questa opzione per sincronizzare automaticamente gli utenti di Project Web App con i siti dei progetti al momento della creazione, quando i project manager pubblicano i progetti e quando vengono modificate le autorizzazioni degli utenti in Project Server.

    Se la casella di controllo è deselezionata, gli utenti di Project Server non vengono mai sincronizzati con i siti di progetto.

  3. Fare clic su Salva.

Per ulteriori informazioni sull'impostazione di Autorizzazioni sito di progetto, vedere Project Site Provisioning Settings (Project Server 2010 settings).

Di seguito sono riportati i messaggi di errore che potrebbero essere inclusi nei registri ULS quando si verificano problemi di prestazioni della distribuzione di Project Server perché un numero di utenti maggiore del limite massimo consigliato accede ai siti di progetto. In genere, l'utente che genera il problema (ad esempio disattivando una risorsa) vede il pulsante Salva, nella pagina Modifica utente, bloccato nella posizione selezionata e visualizza il messaggio "Errore imprevisto". L'ID di correlazione, disponibile nei registri ULS, fornisce dati relativi a un deadlock SQL. La voce di errore di livello "critico" sarà simile alla seguente:

  • 10/08/2011 12.17.02.85 w3wp.exe (0x2178) 0x314C Database di SharePoint Foundation 5586 Eccezione SQL sconosciuta 1205. Di seguito sono disponibili ulteriori informazioni sull'errore da SQL Server. La transazione (ID di processo 80) è stata interrotta a causa di un deadlock delle risorse di blocco con un altro processo. Ripetere la transazione. 886d9cdd-5c0c-4f3a-8f89-f4e8c92acde3

Un messaggio errore di livello "alto" che fornisce ulteriori informazioni sulla query che genera il problema sarà simile al seguente. La voce è stata notevolmente abbreviata, ma si noti il testo chiave "proc_SecRemoveUserFromSite":

10/08/2011 12.17.06.97 w3wp.exe (0x2178) 0x314C Database di SharePoint Foundation tzkv High SqlCommand: 'SET NOCOUNT ON; DECLARE @DN nvarchar(256),@LN nvarchar(128),@@DocUIVersion int,@@S uniqueidentifier,@@Level tinyint; DECLARE @ItemId int; DECLARE @@iRet int; DECLARE @ExtraItemSize int; SET @@Level = 1; SET @@S=@wssp0; EXEC @@iRet = proc_SecRemoveUserFromSite @@S, @wssp1, @wssp2 SELECT @ItemId = @wssp3 IF @@iRet <> 0 BEGIN GOTO DONE; END ;BEGIN TRAN IF NOT EXISTS( SELECT tp_ID FROM UserData WHERE tp_ListId = '06C8C9BB-B10B-4042-8859-9F9985E73E76' AND tp_ID = @ItemId AND tp_Level = 1 AND tp_RowOrdinal =0) BEGIN SELECT @ExtraItemSize = 0 EXEC @@iRet = proc_AddListItem @SiteId….

È anche possibile che venga generata una voce di livello "imprevisto", simile alla seguente:

10/08/2011 12.17.06.97 w3wp.exe (0x2178) 0x314C Runtime di SharePoint Foundation tkau Unexpected System.Runtime.InteropServices.COMException: Eccezione da HRESULT: 0x80131904 in Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateMembers(String bstrUrl, UInt32 dwObjectType, String bstrObjId, Guid& pguidScopeId, Int32 lGroupID, Int32 lGroupOwnerId, Object& pvarArrayAdd, Object& pvarArrayAddIds, Object& pvarArrayLoginsRemove, Object& pvarArrayIdsRemove, Boolean bRemoveFromCurrentScopeOnly, Boolean bSendEmail) at Microsoft.SharePoint.Library.SPRequest.UpdateMembers(String bstrUrl, UInt32 dwObjectType, String bstrObjId, Guid& pguidScopeId, Int32 lGroupID, Int32 lGroupOwnerId, Object& pvarArrayAdd, Object& pvarArrayAddIds, Object& pvarArrayLoginsRemove, Object& pvarArrayIdsRemove, Boolean bRemoveFromCurrentScopeOnly, Boolean bSendEmail) 886d9cdd-5c0c-4f3a-8f89-f4e8c92acde3

È possibile che il server non risponda per 15 - 30 minuti. Durante questo periodo, gli altri utenti ricevono messaggi di errore di timeout nelle loro pagine e nei registri ULS log potrebbero essere riportate le voci seguenti:

10/08/2011 12.20.22.30 w3wp.exe (0x1228) 0x1454 SharePoint Foundation Monitoring b4ly High Leaving Monitored Scope (ExecuteStoredProcedureDataReader -- MSP_AUTH_GETUSERBYNAME). Execution Time=120002.728838442 2be0491a-a64b-4237-8cfc-40342a374d49
10/08/2011 12.20.22.30 w3wp.exe (0x1228) 0x1454 Project Server General 8ym5 Monitorable PWA:http://<server>/PWA, ServiceApp:Project Web App Service Application, User:, PSI: SqlException occurred in DAL: <Error><Class>0</Class><LineNumber>0</LineNumber><Number>-2</Number><Procedure></Procedure> <Message> System.Data.SqlClient.SqlError: Timeout scaduto. È trascorso il periodo di timeout prima del completamento dell'operazione oppure il server non risponde. </Message> <CallStack> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at …

Mostra: