---
title: "Disable-DbaReplPublishing"
description: "Disables replication publishing on SQL Server instances and removes publisher configuration."
url: "https://dbatools.io/Disable-DbaReplPublishing/"
availability: "Windows only"
tags: ["repl", "Replication"]
author: "Jess Pomfret (@jpomfret), jesspomfret.com"
source: "https://github.com/dataplat/dbatools/blob/master/public/Disable-DbaReplPublishing.ps1"
last_updated: "2024-01-01"
---

# Disable-DbaReplPublishing

## Synopsis

Disables replication publishing on SQL Server instances and removes publisher configuration.

## Description

Removes the publisher role from SQL Server instances that are currently configured for replication publishing. This function safely dismantles the publishing configuration by removing the publisher from the distributor, which stops all publication activity on the target instance. Use this when decommissioning replication setups or troubleshooting publisher configuration issues that require a clean restart.

## Syntax

```powershell
Disable-DbaReplPublishing
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [-Force]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

```

## Examples

### Example 1: Disables replication distribution for the mssql1 instance

```powershell
PS C:\> Disable-DbaReplPublishing -SqlInstance mssql1
```

### Example 2: Disables replication distribution for the mssql1 and mssql2 instances using a sql login

```powershell
PS C:\> $cred = Get-Credential sqladmin
PS C:\> Disable-DbaReplPublishing -SqlInstance mssql1, mssql2 -SqlCredential $cred -Force
```

Disables replication distribution for the mssql1 and mssql2 instances using a sql login.  
Specifies force so all the replication objects associated with the Publisher are dropped even  
if the Publisher is on a remote server that cannot be reached.  

### Required Parameters

##### -SqlInstance

The target SQL Server instance or instances.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | True |
| Pipeline | true (ByValue) |
| Default Value |  |

### Optional Parameters

##### -SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).  
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.  
For MFA support, please use Connect-DbaInstance.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -Force

Forces the removal of publisher configuration without verifying the distributor connection status.  
Use this when the distributor server is unreachable or when you need to forcibly clean up orphaned replication objects.  
Without this switch, the function will fail if it cannot communicate with the distributor to perform proper cleanup verification.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

##### -EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.  
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.  
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

##### -WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

| Property | Value |
| --- | --- |
| Alias | wi |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

| Property | Value |
| --- | --- |
| Alias | cf |
| Required | False |
| Pipeline | false |
| Default Value |  |

## Outputs

**Microsoft.SqlServer.Replication.ReplicationServer**

Returns the ReplicationServer object for each instance after disabling publishing. The instance is returned with its publisher configuration removed from the distributor.

**Default display properties (via Select-DefaultView):**

- ComputerName: The computer name of the SQL Server instance
- InstanceName: The SQL Server instance name
- SqlInstance: The full SQL Server instance name (computer\instance)
- IsDistributor: Boolean indicating whether this instance is configured as a distributor
- IsPublisher: Boolean indicating whether this instance is configured as a publisher (will be False after successful execution)
- DistributionServer: The name of the server hosting the distribution database
- DistributionDatabase: The name of the distribution database

**Additional properties available on the ReplicationServer object (accessible via Select-Object *):**

- DistributionDatabases: Collection of distribution databases on this distributor
- DistributionPublishers: Collection of publishers registered with this distributor
- Subscribers: Collection of subscribers connected to this distributor
- PublisherDatabases: Collection of databases published from this instance
- SubscriptionServers: Collection of subscription servers
- ConnectionContext: The server connection context used for RMO operations

---

Part of [dbatools](https://dbatools.io/), a free and open source PowerShell module for SQL Server administration. Full command index: https://dbatools.io/commands/
