If you're a database administrator experienced with Analysis Services 2000 admin, this chapter may have been largely routine with a few interesting twists — like .NET or what it means to process a dimension versus a cube. If you have never created programs to dynamically administer a server, perhaps you found this to be one of the most exciting chapters yet! It is great how you can apply the power and flexibility of programming with direct access to server side functionality. What this ultimately provides is an unfettered ability to manage the server the way you want; not just the way the Analysis Services 2005 User Interface Designers thought you would want to. This is not to say the User Interface isn't good; it is, but let's face it — you know best what you want to accomplish.
In this chapter you learned that for each administrative task there is a way to execute it through the user interface using SSMS or BIDS; or through the coding and running of applications using the AMO .NET assembly called Microsoft.AnalysisServices.dll. One illustration of these parallel implementation modes was shown with the synchronization capability, which can be implemented in the user interface using the Synchronize Database Wizard in SSMS, or can be coded with the synchronize ( ) method as part of an AMO-based application. With all the excitement surrounding AMO it is easy to forget its predecessor, DSO. You found out that legacy client applications could be used to interface with Analysis Server 2000 databases after migration to Analysis Server 2005. To accomplish this, you need only use DSO8.5 to talk to the server.
You also learned how useful backup and restore can be for auditing purposes — specifically by providing snapshots in time of cubes to auditors and analysts. And how security is configured for administrative versus user access to the server; this by using server and database roles, respectively. Finally, in this chapter you were exposed to properties. In the next chapter on Performance Optimization, you will find several interesting ways to tweak properties to achieve maximal processing and query throughput.