Thor Logo dbatools

Get-DbaReplServer

View Source
Chrissy LeMaire (@cl), netnerds.net
Windows, Linux, macOS

Synopsis

Retrieves replication configuration and server role information from SQL Server instances

Description

Returns a ReplicationServer object that shows whether each SQL Server instance is configured as a distributor, publisher, or both in the replication topology. This helps DBAs quickly identify server roles and distribution database configurations when troubleshooting replication issues or documenting replication environments. The function reveals which databases are enabled for replication, though these may not necessarily be actively replicated.

Note: The ReplicationDatabases property gets the databases enabled for replication in the connected instance of Microsoft SQL Server/.
Not necessarily the databases that are actually replicated.

Syntax

Get-DbaReplServer
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Get-DbaReplServer -SqlInstance sql2016

Gets the replication server object for sql2016 using Windows authentication

Example: 2
PS C:\> Get-DbaReplServer -SqlInstance sql2016 -SqlCredential repadmin

Gets the replication server object for sql2016 using SQL authentication

Required Parameters

-SqlInstance

The target SQL Server instance or instances

PropertyValue
Alias
RequiredTrue
Pipelinetrue (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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse

Outputs

Microsoft.SqlServer.Replication.ReplicationServer

Returns one ReplicationServer object per SQL Server instance, providing information about the instance’s role in the replication topology.

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 if the instance is configured as a Distributor
  • IsPublisher: Boolean indicating if the instance is configured as a Publisher
  • DistributionServer: The name of the Distributor server (if configured)
  • DistributionDatabase: The name of the distribution database (if configured)

Additional properties available (from SMO ReplicationServer object):

  • DistributorInstalled: Boolean indicating if a Distributor is installed
  • DistributorAvailable: Boolean indicating if the Distributor is accessible
  • WorkingDirectory: The Publisher’s working directory location
  • DistributionDatabases: Collection of configured distribution databases
  • DistributionPublishers: Collection of Publishers using this Distributor
  • ReplicationDatabases: Collection of databases enabled for replication
  • RegisteredSubscribers: Collection of registered Subscriber instances
  • AgentCheckupInterval: The Distribution Agent checkup frequency setting
  • ConnectionContext: The SQL Server connection context object All properties from the base SMO ReplicationServer object are accessible using Select-Object *.