Data Sources, ImpersonationMode, and AMO -
03-09-2006
, 11:40 AM
(cross-posted from MSDN forums)
We have an ASP.NET application that uses AMO to make cube modifications
(adding and removing dimensions and measures) and process cubes, and we're
running in to a strange problem with the code that removes dimensions.
The error that's coming back from the AMO code is "The ImpersonationInfo
for datasource 'AEDB' contains an
ImpersonationMode that can only be used by a server administrator."
I checked the impersonation mode setting on the data source, and it's set to
"ImpersonateServiceAccount". The service is running as LocalSystem in this
case, and the SSAS and DB Engine are running on the same machine.
Taking the error message at it's word, I added the user to the server role,
and the error went away. But I'd really rather avoid that if possible. The
user has been granted all the relevant rights for modifying the database
through an SSAS role - adding measures and dimensions works fine, as does
removing measures. But not removing dimensions.
I tried changing the impersonation mode to "Use the credentials of the
current user", and that cured the deletion problem but broke cube processing
("contains an ImpersonationMode that is not supported for processing
operations").
So I'm not sure what to try. Is there a solution here that covers both cases
(processing and modification)? Am I missing something?
BTW,
The AMO portion of the stack trace is:
Message: The ImpersonationInfo for datasource 'AEDB' contains an
ImpersonationMode that can only be used by a server administrator, .
Source: Microsoft.AnalysisServices
Stack Trace:
at
Microsoft.AnalysisServices.AnalysisServicesClient. SendExecuteAndReadResponse
(ImpactDetailCollection impacts, Boolean expectEmptyResults, Boolean
throwIfError)
at Microsoft.AnalysisServices.AnalysisServicesClient. Alter
(IMajorObject obj, ObjectExpansion expansion, ImpactDetailCollection impact,
Boolean allowCreate)
at Microsoft.AnalysisServices.Server.Update(IMajorObj ect obj,
UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings,
ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.Server.SendUpdate(IMajo rObject obj,
UpdateOptions options, UpdateMode mode, XmlaWarningCollection warnings,
ImpactDetailCollection impactResult)
at Microsoft.AnalysisServices.MajorObject.Update(Upda teOptions
options, UpdateMode mode, XmlaWarningCollection warnings)
at Microsoft.AnalysisServices.MajorObject.Update(Upda teOptions
options)
at |