Database Mirroring (SQL Server)

SQL Server 2005 and higher supports database mirroring, in which the principal server sends, in real-time, blocks of its database log records to the mirror instance which, in the event of failover, can be made available within a few seconds.

PowerDesigner supports database mirroring with endpoints and extensions on the database object.

Creating a Database for Mirroring

To create a database to model database mirroring:
  1. Right-click the model in the Browser and select Properties.
  2. On the General tab, click the Create tool to the right of the Database field.
  3. Click the Mirroring tab and specify any appropriate properties.

Mirroring Properties

You can modify an object's properties from its property sheet. To open a database property sheet, double-click its Browser entry.

The following extended attributes are available on the Mirroring tab:

Name

Description

Enable mirroring

Enables mirroring for the database.

Scripting name: EnableMirroring

Partner/ Witness

Specifies the role that the database will play in the mirroring relationship. You can choose between:

  • Partner – the database is either a principal or mirror database.

  • Witness – the database acts as a witness to a mirroring relationship. A SET WITNESS clause affects both copies of the database, but can only be specified on the principal server. If a witness is set for a session, a quorum is required to serve the database, regardless of the SAFETY setting.

Scripting names: Partner, Witness

Options

Specifies mirroring options for the database. You can choose between:

  • <None>

  • server

  • off

  • failover

  • force_service_allow_data_loss

  • resume

  • safety full

  • safety off

  • suspend

  • timeout

Scripting name: MirrorOptions

Server

For partner mirroring, specifies the server network address of an instance of SQL Server to act as a failover partner in a new database mirroring session.

For witness mirroring, specifies an instance of the Database Engine to act as the witness server for a database mirroring session.

Scripting name: MirrorServer

Time-out

[if partner is selected] Specifies the time-out period in seconds. The time-out period is the maximum time that a server instance waits to receive a PING message from another instance in the mirroring session before considering that other instance to be disconnected.

Scripting name: TimeOut