The SMO object model contains two types of classes:
Form a hierarchy that matches the database server object hierarchy. The top object is a SQL Server instance represented by the Server object. Under this object is a hierarchy of instance objects, including databases, tables, columns, indexes, and stored procedures. Instance classes are discussed in detail in Chapters 10 and 11.
Perform specific tasks and are independent of the server instance. Utility classes are discussed in detail in Chapters 12 and 13.
SMO has a collection of namespaces that represent different areas of functionality. These are described in Table 9-1.
Table 9-1. SMO namespaces
Classes common to SMO and Replication Management Objects (RMO)primarily classes used to establish a connection to a SQL Server instance
Classes used to develop and administer Notification Services instances and applications
Instance classes, utility classes, event handlers, exceptions, and enumerations used to programmatically control SQL Server