Anche durante il setup MOSS può presentare sorprese e mostrare errori che poi si scopre non corrispondere esattamente quelli mostrati (che è il leit motiv di questa serie di post).
In questo caso, durante appunto l'operazione di setup di un nuovo MOSS e più precisamente in caso di setup di una farm, può capitare che durante l'aggiunta di un server alla farm tramite lo SharePoint Products and Technologies Configuration Wizard (psconfig) l'operazione fallisca sollevando una SecurityException con un semplice messaggio Access denied, suggerendo di verificare all'interno del log PSCDiagnostics (il Post Setup Configuration log di psconfig appunto) per il dettaglio dell'errore. Guardando dentro questo file non si trova invece nessun dettaglio, anzi non si trova proprio nessun errore, ma solo il logging di vari messaggi di informazione di setup (INF). Guardando invece all'interno dei log del ULS si trova effettivamente un maggiore dettaglio dell'errore e lo stack trace:
The SPPersistedObject, SPServer Name=yourserver Parent=SPFarm Name=SharePoint_Config, could not be updated because the current user is not a Farm Administrator.
Stack: at Microsoft.SharePoint.Administration.SPPersistedObject.Update()
Per cui sembrerebbe ovvio verificare l'appartenenza dell'utente con il quale si stanno effettuando le operazioni tra i farm administrators: Central Admin -> Operations -> Update farm administrator's group (o People and Groups della Central Admin application). Eppure ho ricevuto questo stesso errore per due volte in due setup distinti e in entrambi l'utenza apparteneva correttamente al gruppo di amministratori della farm; ciò che ha causato l'errore è stato invece:
- Il server che cercava di fare join nella farm non era allineato perfettamente come versione (service pack, hotfix) agli altri server della farm. Verificare quindi la versione dei servers già nella farm da Central Admin -> Operations -> Servers in Farm e del server che deve fare join tramite la chiave registry HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0. In questo post una lista di version number.
- L'utente pur essendo farm administrator non aveva i necessari diritti sul SQL Server. L'utente dovrebbe avere almeno il ruolo di securityadmin e avere i necessari diritti per aggiornare le tabelle dei db di configuration e di central admin.