---
title: "SQL Server Management Objects (SMO) Programming Guide"
description: "SQL Server Management Objects (SMO) Programming Guide"
author: "markingmyname"
ms.author: "maghan"
ms.date: "03/14/2017"
ms.service: sql
ms.topic: "reference"
helpviewer_keywords:
- "SMO [SQL Server]"
- "SQL Server Management Objects"
- "programming [SMO]"
monikerRange: "=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current"
---
# SQL Server Management Objects (SMO) Programming Guide
[!INCLUDE [SQL Server ASDB, ASDBMI, ASDW](../../includes/applies-to-version/sql-asdb-asdbmi-asa.md)]
[!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] Management Objects (SMO) is a collection of objects that are designed for programming all aspects of managing [!INCLUDE[msCoName](../../includes/msconame-md.md)] [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] Replication Management Objects (RMO) is a collection of objects that encapsulates [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] replication management.
|Topic|Description|
|-----------|-----------------|
|[Getting Started in SMO](getting-started-in-smo.md)|Provides information on how to start developing a SMO application
|[Creating SMO Programs](../../relational-databases/server-management-objects-smo/create-program/creating-smo-programs.md)
[Programming Specific Tasks](../../relational-databases/server-management-objects-smo/tasks/programming-specific-tasks.md)|Provides information about programming the SMO objects in the Microsoft.SqlServer.management, Microsoft.SqlServer.Management.NotificationServices, Microsoft.SqlServer.Management.Smo, Microsoft.SqlServer.Management.Smo.Agent, Microsoft.SqlServer.Management.Smo.Broker, Microsoft.SqlServer.Management.Smo.Mail, Microsoft.SqlServer.Management.Smo.RegisteredServers, Microsoft.SqlServer.Management.Smo.Wmi, and Microsoft.SqlServer.Management.Trace namespaces.
This includes instructions to write programs that define databases and manage [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. You can use SMO to create databases, perform backups, create jobs, configure [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)], assign permissions, and to perform many other administrative tasks.|
|[Replication Developer Documentation](../../relational-databases/replication/concepts/replication-developer-documentation.md)|Provides information about programming the RMO objects in the Microsoft.SqlServer.Replication namespace.|
## See Also
[Replication Developer Documentation](../../relational-databases/replication/concepts/replication-developer-documentation.md)