---
description: "SQL Server Management Objects (SMO) Programming Guide"
title: "SQL Server Management Objects (SMO) Programming Guide"
ms.custom: seo-dt-2019
ms.date: "03/14/2017"
ms.prod: sql
ms.prod_service: "database-engine"
ms.reviewer: ""
ms.technology:
ms.topic: "reference"
helpviewer_keywords:
- "SMO [SQL Server]"
- "SQL Server Management Objects"
- "programming [SMO]"
ms.assetid: 4cde2b85-2a31-4cac-8d16-7a4196066193
author: "markingmyname"
ms.author: "maghan"
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)