---
title: "SQL Server Management Objects (SMO) Programming Guide | Microsoft Docs"
ms.custom: ""
ms.date: "03/14/2017"
ms.prod: "sql"
ms.prod_service: "database-engine"
ms.service: ""
ms.component: "smo"
ms.reviewer: ""
ms.suite: "sql"
ms.technology:
ms.tgt_pltfrm: ""
ms.topic: "reference"
helpviewer_keywords:
- "SMO [SQL Server]"
- "SQL Server Management Objects"
- "programming [SMO]"
ms.assetid: 4cde2b85-2a31-4cac-8d16-7a4196066193
caps.latest.revision: 32
author: "stevestein"
ms.author: "sstein"
manager: "craigg"
ms.workload: "On Demand"
monikerRange: "= azuresqldb-current || = azure-sqldw-latest || >= sql-server-2016 || = sqlallproducts-allversions"
---
# SQL Server Management Objects (SMO) Programming Guide
[!INCLUDE[appliesto-ss-asdb-asdw-xxx-md](../../includes/appliesto-ss-asdb-asdw-xxx-md.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)