Topic Last Modified: 2014-02-21

Associates a mirror database with a Lync Server 2013 database. A database mirror enables you to simultaneously maintain two copies of a database, each copy residing on a different server. This cmdlet was introduced in Lync Server 2013.

Syntax

Install-CsMirrorDatabase -ConfiguredDatabases <SwitchParameter> -SqlServerFqdn <Fqdn> [-ForDefaultInstance <SwitchParameter>] [-ForInstance <String>] <COMMON PARAMETERS>
Install-CsMirrorDatabase -DatabaseType <Application | Archiving | Monitoring | User | Provision | Lyss | Registrar | Edge | PersistentChat | PersistentChatCompliance | CentralMgmt | SigninTelemetry | ActiveMonitoring> -SqlServerFqdn <Fqdn> [-SqlInstanceName <String>] <COMMON PARAMETERS>
COMMON PARAMETERS: -FileShare <String> [-Confirm [<SwitchParameter>]] [-DatabasePathMap <Hashtable>] [-DropExistingDatabasesOnMirror <SwitchParameter>] [-ExcludeDatabaseList <String[]>] [-Report <String>] [-WhatIf [<SwitchParameter>]]

Examples

Example 1

The command shown in Example 1 installs any predefined database. The ConfiguredDatabases parameter causes the Install-CsMirrorDatabase cmdlet to use the current topology to determine which databases should be.

Copy Code
Install-CsMirrorDatabase -ConfiguredDatabases -FileShare "\\atl-fs-001\DbBackup" -SqlServerFqdn "atl-primary-001.litwareinc.com" -DropExisitingDatabasesOnMirror

Detailed Description

Mirror databases enable you to simultaneously maintain two copies of a database: when data is written to Database A, a copy of that data is also written to its mirror database. This provides the ability to instantly replace Database A should that database become unavailable: you can “failover” to the mirror database with minimal disruption to your users and with minimal data loss. After you have installed your primary databases you can then install and configure mirror databases by using the Install-CsMirrorDatabase cmdlet.

By default, the Install-CsMirrorDatabase cmdlet installs and configures mirror databases for all the Lync Server databases housed on the specified server. However, you can use the DatabaseType or the ExcludeDatabaseList parameters to specify exactly which mirror databases should or should not be installed. DatabaseType enables you to specify only the databases that should be installed; ExcludeDatabaseList lets you specify the databases that should not be installed.

To return a list of all the role-based access control (RBAC) roles this cmdlet has been assigned to (including any custom RBAC roles you have created yourself), run the following command from the Windows PowerShell command-line interface prompt:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Install-CsMirrorDatabase"}

Lync Server Control Panel: The functions carried out by the Install-CsMirrorDatabase cmdlet are not available in the Lync Server Control Panel.

Parameters

Parameter Required Type Description

ConfiguredDatabases

Required

System.Management.Automation.SwitchParameter

Reads information from the Lync Server topology, and installs the required mirror databases on the specified SQL Server computer or SQL Server cluster.

DatabaseType

Required

Microsoft.Rtc.Management.Deployment.DatabaseNameType

Type of mirror database to be installed. Allowed values are:

ActiveMonitoring

Application

Archiving

CentralMgmt

Edge

Lyss

Monitoring

PersistentChat

PersistentChatCompliance

Provision

Registrar

SigninTelemetry

User

FileShare

Required

System.String

UNC path to the database shared folder. The file share is used to export of databases from the primary SQL Server and import those databases onto the mirror.

The shared folder and its contents can be deleted after mirroring is established. The folder should also be deleted if you decide to disable mirroring.

SqlServerFqdn

Required

Microsoft.Rtc.Management.Deploy.Fqdn

Fully qualified domain name (FQDN) of the primary SQL Server computer. For example:

-SqlServerFqdn atl-sql-001.litwareinc.com

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command.

DatabasePathMap

Optional

System.Collections.Hashtable

Enables you to specify custom folder paths for data files and log files; multiple paths should be separated by using a semicolon (;). For example:

-DatabasePathMap @{"Archiving:DbPath"="\\atl-sql-001.litwareinc.com\db";"Archiving:LogPath"="\\atl-sql-002.litwareinc.com\logs"}

DropExistingDatabasesOnMirror

Optional

System.Management.Automation.SwitchParameter

When present, deletes any existing copies of the mirrored databases from the server acting as the mirror before new data is copied to that server.

ExcludeDatabaseList

Optional

System.String[]

List of databases that should not be included in the mirror database; multiple databases can be specified by separating those databases using commas. For example:

-ExcludeDatabaseList "RTCCAB","RTCPROV"

ForDefaultInstance

Optional

System.Management.Automation.SwitchParameter

When specified, instructs the Install-CsMirrorDatabase cmdlet to only act against the default SQL Server instance. You cannot use both ForDefaultInstance and ForInstance in the same command.

ForInstance

Optional

System.String

When specified, instructs the Install-CsMirrorDatabase cmdlet to only act against the specified SQL Server instance. You cannot use both ForInstance and ForDefaultInstance in the same command.

Report

Optional

System.String

Enables you to specify a file path for the log file created when the cmdlet runs. For example: -

Report "C:\Logs\InstallDatabaseMirror.html"

SqlInstanceName

Optional

System.String

Name of the database instance where the database is to be installed. A database instance is simply a set of running processes that provides access to database files. If this parameter is omitted, the Install-CsMirrorDatabase cmdlet will use the default SQL Server instance.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Describes what would happen if you executed the command without actually executing the command.

Input Types

None. The Install-CsMirrorDatabase cmdlet does not accept pipelined input.

Return Types

None.

See Also