データベース ミラーリング (SQL Server)Database Mirroring (SQL Server)

注意

この機能は、Microsoft SQL Server の将来のバージョンで削除されます。This feature will be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。Avoid using this feature in new development work, and plan to modify applications that currently use this feature.代わりに Always On 可用性グループAlways On Availability Groups を使います。Use Always On 可用性グループAlways On Availability Groups instead.

データベース ミラーリング は、 SQL ServerSQL Server データベースの可用性を高めるためのソリューションです。Database mirroring is a solution for increasing the availability of a SQL ServerSQL Server database. ミラーリングはデータベースごとに実装され、完全復旧モデルを使用するデータベースでのみ機能します。Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model.

重要

データベース ミラーリングのサポート、制限事項、推奨事項、パートナー サーバーの構成に関する前提条件については、「 データベース ミラーリングの前提条件、制限事項、推奨事項」を参照してください。For information about support for database mirroring, restrictions, prerequisites, recommendations for configuring partner servers, and recommendations for deploying database mirroring, see Prerequisites, Restrictions, and Recommendations for Database Mirroring.

データベース ミラーリングの利点Benefits of Database Mirroring

データベース ミラーリングは単純なストラテジで、次に示す利点があります。Database mirroring is a simple strategy that offers the following benefits:

  • データベースの可用性が向上します。Increases availability of a database.

    障害が発生した場合、自動フェールオーバーを伴う高い安全性モードでは、フェールオーバーによりデータベースのスタンバイ コピーが即座にオンラインになります (データ損失の可能性はありません)。In the event of a disaster, in high-safety mode with automatic failover, failover quickly brings the standby copy of the database online (without data loss). 他の動作モードでは、データベース管理者はデータベースのスタンバイ コピーにサービスを強制する代替の方法 (データ損失の可能性あり) を使用できます。In the other operating modes, the database administrator has the alternative of forcing service (with possible data loss) to the standby copy of the database. 詳細については、このトピックの「 役割の交代」を参照してください。For more information, see Role Switching, later in this topic.

  • データの保護が強化されます。Increases data protection.

    データベース ミラーリングを使用すると、動作モードが高い安全性モードであるか高パフォーマンス モードであるかに応じて、データの冗長化が完全に、またはほぼ完全に行われます。Database mirroring provides complete or almost complete redundancy of the data, depending on whether the operating mode is high-safety or high-performance. 詳細については、このトピックの「 動作モード」を参照してください。For more information, see Operating Modes, later in this topic.

    SQL Server 2008 EnterpriseSQL Server 2008 Enterprise 以降のバージョンで動作するデータベース ミラーリング パートナーには、データ ページの読み取りを妨げるエラーを自動的に解決するための機能が備わっています。A database mirroring partner running on SQL Server 2008 EnterpriseSQL Server 2008 Enterprise or later versions automatically tries to resolve certain types of errors that prevent reading a data page. ミラーリング セッションを構成する一方のパートナーは、ページを読み取れない場合、もう一方のパートナーに新しいコピーを要求します。The partner that is unable to read a page requests a fresh copy from the other partner. 要求が受け入れられ、新しいコピーを取得できた場合は、読み取り不可能なページがそのコピーに置き換えられます。通常、これによりエラーは解決します。If this request succeeds, the unreadable page is replaced by the copy, which usually resolves the error. 詳細については、「ページの自動修復 (可用性グループとデータベース ミラーリング)」を参照してください。For more information, see Automatic Page Repair (For Availability Groups and Database Mirroring).

  • アップグレード中の実稼働データベースの可用性が向上します。Improves the availability of the production database during upgrades.

    ミラー化されたデータベースのダウンタイムを最小限に抑えるために、フェールオーバー パートナーをホストしている SQL ServerSQL Server のインスタンスを順次アップグレードできます。To minimize downtime for a mirrored database, you can sequentially upgrade the instances of SQL ServerSQL Server that are hosting the failover partners. これにより、ダウンタイムはフェールオーバー 1 回分のみになります。This will incur the downtime of only a single failover. このようなアップグレード形態を ローリング アップグレードと呼びます。This form of upgrade is known as a rolling upgrade. 詳細については、次を参照してください。最小限のダウンタイムでのシステム上でミラー化データベースの Service Pack をインストールします。For more information, see Install a Service Pack on a System with Minimal Downtime for Mirrored Databases.

データベース ミラーリングの用語と定義Database Mirroring Terms and Definitions

自動フェールオーバー (automatic failover)automatic failover
プリンシパル サーバーが使用できなくなった場合に、ミラー サーバーがプリンシパル サーバーの役割を引き継ぎ、ミラー サーバーのデータベースのコピーをプリンシパル データベースとしてオンラインにする処理のこと。The process by which, when the principal server becomes unavailable, the mirror server to take over the role of principal server and brings its copy of the database online as the principal database.

フェールオーバー パートナー (failover partners)failover partners
ミラー化されたデータベースに関する役割交代用のパートナーとして動作する、2 つのサーバー インスタンス (プリンシパル サーバーまたはミラー サーバー)。The two server instances (the principal server or the mirror server) that act as role-switching partners for a mirrored database.

強制的なサービスの起動 (forced service)forced service
プリンシパル サーバーの障害発生時にデータベース所有者が開始するフェールオーバー。その状態が不明である間、ミラー データベースにサービスが転送されます。A failover initiated by the database owner upon the failure of the principal server that transfers service to the mirror database while it is in an unknown state.

高パフォーマンス モードHigh-performance mode
データベース ミラーリング セッションは非同期に動作し、プリンシパル サーバーとミラー サーバーのみを使用します。The database mirroring session operates asynchronously and uses only the principal server and mirror server. 役割の交代の形式は、強制されたサービス (データ損失の可能性あり) のみです。The only form of role switching is forced service (with possible data loss).

高い安全性モード (High-safety mode)High-safety mode
データベース ミラーリング セッションは同期して動作し、必要に応じてミラーリング監視サーバー、およびプリンシパル サーバーとミラー サーバーを使用します。The database mirroring session operates synchronously and, optionally, uses a witness, as well as the principal server and mirror server.

手動フェールオーバー (manual failover)manual failover
プリンシパル サーバーがまだ稼働しているときにデータベース所有者が開始するフェールオーバー。同期された状態のまま、プリンシパル データベースからミラー データベースにサービスが転送されます。A failover initiated by the database owner, while the principal server is still running, that transfers service from the principal database to the mirror database while they are in a synchronized state.

ミラー データベース (mirror database)mirror database
通常はプリンシパル データベースと完全に同期されるデータベースのコピー。The copy of the database that is typically fully synchronized with the principal database.

ミラー サーバー (mirror server)mirror server
データベース ミラーリング構成で、ミラー データベースが存在するサーバー インスタンス。In a database mirroring configuration, the server instance on which the mirror database resides.

ミラー サーバー (mirror server)mirror server
データベース ミラーリング構成で、ミラー データベースが存在するサーバー インスタンス。In a database mirroring configuration, the server instance on which the mirror database resides.

プリンシパル データベース (principal database)principal database
データベース ミラーリングで、そのトランザクション ログ レコードがデータベース (ミラー データベース) の読み取り専用コピーに適用される読み書き可能なデータベース。In database mirroring, a read-write database whose transaction log records are applied to a read-only copy of the database (a mirror database).

プリンシパル サーバー (principal server)principal server
データベース ミラーリングで、現在のプリンシパル データベースを保持するパートナー。In database mirroring, the partner whose database is currently the principal database.

再実行キュー (redo queue)redo queue
ミラー サーバーのディスクで待機している、受信したトランザクション ログ レコード。Received transaction log records that are waiting on the disk of a mirror server.

ロール (role)role
プリンシパル サーバーおよびミラー サーバーは補完的にプリンシパルおよびミラーの役割を果たします。The principal server and mirror server perform complementary principal and mirror roles. 必要に応じて、3 番目のサーバー インスタンスがミラーリング監視の役割を果たします。Optionally, the role of witness is performed by a third server instance.

役割の交代role switching
プリンシパルの役割がミラーに引き継がれること。The taking over of the principal role by the mirror.

送信キュー (send queue)send queue
プリンシパル サーバーのログ ディスクに蓄積されている未送信のトランザクション ログ レコード。Unsent transaction log records that have accumulated on the log disk of the principal server.

セッションsession
プリンシパル サーバー、ミラー サーバー、およびミラーリング監視サーバー (存在する場合) 間でデータベース ミラーリング時に発生するリレーションシップ。The relationship that occurs during database mirroring among the principal server, mirror server, and witness server (if present).

ミラーリング セッションが開始または再開された後で、プリンシパル サーバーに蓄積されたプリンシパル データベースのログ レコードがミラー サーバーに送信される処理のこと。この処理では、遅延を解消するために、送信されたログ レコードをできるだけ短時間でディスクに書き込みます。After a mirroring session starts or resumes, the process by which log records of the principal database that have accumulated on the principal server are sent to the mirror server, which writes these log records to disk as quickly as possible to catch up with the principal server.

トランザクションの安全性Transaction safety
データベース ミラーリング セッションが同期して動作するか、非同期で動作するかを決定する、ミラーリング固有のデータベース プロパティ。A mirroring-specific database property that determines whether a database mirroring session operates synchronously or asynchronously. 2 つの安全性レベルがあります。完全なし、オフします。There are two safety levels: FULL and OFF.

ミラーリング監視サーバーWitness
高い安全性モードの場合にのみ使用します。必要に応じて配置できる SQL Server のインスタンスです。ミラーリング監視サーバーを使用することにより、ミラー サーバーが自動フェールオーバーをいつ開始するかを認識できるようになります。For use only with high-safety mode, an optional instance of SQL Server that enables the mirror server to recognize when to initiate an automatic failover. 2 つのフェールオーバー パートナーとは異なり、ミラーリング監視サーバーではデータベースの操作は行いません。Unlike the two failover partners, the witness does not serve the database. ミラーリング監視サーバーの唯一の役割は、自動フェールオーバーをサポートすることです。Supporting automatic failover is the only role of the witness.

データベース ミラーリングの概要Overview of Database Mirroring

データベース ミラーリングでは、データベースのコピーが 2 つ保持されます。2 つのコピーは、 SQL Server データベース エンジンSQL Server Database Engineの異なるサーバー インスタンスにそれぞれ配置する必要があります。Database mirroring maintains two copies of a single database that must reside on different server instances of SQL Server データベース エンジンSQL Server Database Engine. 通常、これらのサーバー インスタンスは、別の場所のコンピューターに存在します。Typically, these server instances reside on computers in different locations. データベース上でデータベース ミラーリングを開始すると、これらのサーバー インスタンス間で データベース ミラーリング セッションと呼ばれるリレーションシップが開始されます。Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances.

一方のサーバー インスタンスは、クライアントにデータベースを提供します ( プリンシパル サーバー)。One server instance serves the database to clients (the principal server). もう一方のインスタンスは、ミラーリング セッションの構成と状態に応じて、ホット スタンバイ サーバーまたはウォーム スタンバイ サーバーとして動作します ( ミラー サーバー)。The other instance acts as a hot or warm standby server (the mirror server), depending on the configuration and state of the mirroring session. データベース ミラーリング セッションが同期されていれば、データベース ミラーリングにより、高速のフェールオーバーをサポートするホット スタンバイ サーバーが提供され、コミット済みのトランザクションのデータが失われることはありません。When a database mirroring session is synchronized, database mirroring provides a hot standby server that supports rapid failover without a loss of data from committed transactions. セッションが同期されない場合、ミラー サーバーは通常ウォーム スタンバイ サーバーとして使用できます (データ損失の可能性があります)。When the session is not synchronized, the mirror server is typically available as a warm standby server (with possible data loss).

プリンシパル サーバーとミラー サーバーは、 データベース ミラーリング セッション の中で パートナーとして相互に通信および連携します。The principal and mirror servers communicate and cooperate as partners in a database mirroring session. 2 つのパートナーは、セッション内で プリンシパル および ミラーという相互に補完する役割を担います。The two partners perform complementary roles in the session: the principal role and the mirror role. 任意の時点で、一方のパートナーがプリンシパルの役割を担い、もう一方のパートナーがミラーの役割を担います。At any given time, one partner performs the principal role, and the other partner performs the mirror role. それぞれのパートナーは現在の役割を 所有 しているといいます。Each partner is described as owning its current role. プリンシパルの役割を所有するパートナーを プリンシパル サーバーといい、このパートナーのデータベースのコピーが現在のプリンシパル データベースになります。The partner that owns the principal role is known as the principal server, and its copy of the database is the current principal database. ミラーの役割を所有するパートナーを ミラー サーバーといい、このパートナーのデータベースのコピーが現在のミラー データベースになります。The partner that owns the mirror role is known as the mirror server, and its copy of the database is the current mirror database. データベース ミラーリングを実稼働環境に配置した場合、プリンシパル データベースが 実稼働データベースとなります。When database mirroring is deployed in a production environment, the principal database is the production database.

データベース ミラーリングでは、プリンシパル データベースで発生したすべての挿入、更新、および削除操作が、可能な限り早くミラー データベースで 再実行されますDatabase mirroring involves redoing every insert, update, and delete operation that occurs on the principal database onto the mirror database as quickly as possible. 再実行は、アクティブなトランザクション ログ レコードのストリームをミラー サーバーに送信することにより行われます。ログ レコードは、できるだけ早く順番にミラー データベースに適用されます。Redoing is accomplished by sending a stream of active transaction log records to the mirror server, which applies log records to the mirror database, in sequence, as quickly as possible. 論理レベルで機能するレプリケーションとは異なり、データベース ミラーリングは物理ログ レコードのレベルで機能します。Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record. SQL Server 2008:SQL Server 2008以降では、トランザクション ログ レコードのストリームが、ミラー サーバーへの送信前にプリンシパル サーバーで圧縮されます。Beginning in SQL Server 2008:SQL Server 2008, the principal server compresses the stream of transaction log records before sending it to the mirror server. このログ圧縮はすべてのミラーリング セッションで行われます。This log compression occurs in all mirroring sessions.

注意

特定のサーバー インスタンスを、同じパートナーまたは別のパートナーを含む複数の同時実行データベース ミラーリング セッションに参加させることができます。A given server instance can participate in multiple concurrent database mirroring sessions with the same or different partners. また、サーバー インスタンスを、あるセッションではパートナーとし、別のセッションではミラーリング監視にすることができます。A server instance can be a partner in some sessions and a witness in other sessions. ミラー サーバー インスタンスでは、同じエディションの SQL ServerSQL Serverを実行している必要があります。The mirror server instance must be running the same edition of SQL ServerSQL Server.

動作モードOperating Modes

データベース ミラーリング セッションは、同期動作または非同期動作のどちらかで実行されます。A database mirroring session runs with either synchronous or asynchronous operation. 非同期動作では、ミラー サーバーでログがディスクに書き込まれるのを待機することなくトランザクションがコミットされるので、パフォーマンスが最大限に高められます。Under asynchronous operation, the transactions commit without waiting for the mirror server to write the log to disk, which maximizes performance. 同期動作では、トランザクションが両方のパートナーでコミットされる反面、トランザクションの遅延が大きくなるというデメリットがあります。Under synchronous operation, a transaction is committed on both partners, but at the cost of increased transaction latency.

ミラーリングには、2 つの動作モードがあります。There are two mirroring operating modes. 1 つ目の動作モードである 高い安全性モード では、同期操作がサポートされています。One of them, high-safety mode supports synchronous operation. このモードでは、セッションが開始すると、可能な限り早くミラー サーバーのミラー データベースとプリンシパル データベースが同期されます。Under high-safety mode, when a session starts, the mirror server synchronizes the mirror database together with the principal database as quickly as possible. トランザクションの遅延が大きくなるというデメリットもありますが、2 つのデータベースが同期されると、トランザクションは直ちに両方のパートナーでコミットされます。As soon as the databases are synchronized, a transaction is committed on both partners, at the cost of increased transaction latency.

2 つ目の動作モードである 高パフォーマンス モードで非同期的に実行されます。The second operating mode, high-performance mode, runs asynchronously. ミラー サーバーはプリンシパル サーバーから送信されるログ レコードとの時間差を埋めようとします。The mirror server tries to keep up with the log records sent by the principal server. ミラー データベースは、プリンシパル データベースよりやや遅れることがあります。The mirror database might lag somewhat behind the principal database. ただし、通常はデータベース間の差は小さなものです。However, typically, the gap between the databases is small. ところが、プリンシパル サーバーのワークロードが高い場合やミラー サーバーのシステムの負荷が過剰に高い場合は、この時間差が大きくなることがあります。However, the gap can become significant if the principal server is under a heavy work load or the system of the mirror server is overloaded.

高パフォーマンス モードでは、プリンシパル サーバーはミラー サーバーにログ レコードを送信すると、その直後にクライアントに確認を送信します。In high-performance mode, as soon as the principal server sends a log record to the mirror server, the principal server sends a confirmation to the client. ミラー サーバーからの受信確認を待機することはありません。It does not wait for an acknowledgement from the mirror server. これは、ミラー サーバーでログがディスクに書き込まれるのを待機することなくトランザクションがコミットされることを意味します。This means that transactions commit without waiting for the mirror server to write the log to disk. このような非同期動作では、トランザクションの遅延を最小限に抑えてプリンシパル サーバーを実行できますが、データが損失する可能性があります。Such asynchronous operation enables the principal server to run with minimum transaction latency, at the potential risk of some data loss.

すべてのデータベース ミラーリング セッションでは、1 つのプリンシパル サーバーと 1 つのミラー サーバーだけがサポートされます。All database mirroring sessions support only one principal server and one mirror server. この構成を次の図に示します。This configuration is shown in the following illustration.

データベース ミラーリング セッションのパートナーPartners in a database mirroring session

自動フェールオーバーを伴う高い安全性モードでは、 ミラーリング監視サーバーと呼ばれる第 3 のサーバー インスタンスが必要です。High-safety mode with automatic failover requires a third server instance, known as a witness. 2 つのパートナーとは異なり、ミラーリング監視サーバーではデータベースの操作は行いません。Unlike the two partners, the witness does not serve the database. ミラーリング監視サーバーは、プリンシパル サーバーが正常に動作しているかどうかを確認することにより、自動フェールオーバーをサポートします。The witness supports automatic failover by verifying whether the principal server is up and functioning. ミラー サーバーが自動フェールオーバーを開始するのは、ミラー サーバーとミラーリング監視サーバーの両方がプリンシパル サーバーから切断された後、そのまま相互に接続されている場合だけです。The mirror server initiates automatic failover only if the mirror and the witness remain connected to each other after both have been disconnected from the principal server.

次の図に、ミラーリング監視サーバーを含めた構成を示します。The following illustration shows a configuration that includes a witness.

ミラーリング監視サーバーを含むミラーリング セッションA mirroring session that includes a witness

詳細については、このトピックの「 役割の交代」を参照してください。For more information, see Role Switching, later in this topic.

注意

新しいミラーリング セッションを確立したり、既存のミラーリング構成にミラーリング監視サーバーを追加したりするには、関係するすべてのサーバー インスタンスが同じバージョンの SQL ServerSQL Serverを実行している必要があります。Establishing a new mirroring session or adding a witness to an existing mirroring configuration requires that all involved server instances run the same version of SQL ServerSQL Server. ただし、 SQL Server 2008:SQL Server 2008 以降のバージョンにアップグレードする際には、関係するインスタンスのバージョンが必ずしも同じバージョンであるとは限りません。However, when you are upgrading to SQL Server 2008:SQL Server 2008 or a later version, the versions of the involved instances can vary. 詳しくは、「 Minimize Downtime for Mirrored Databases When Upgrading Server Instances」をご覧ください。For more information, see Minimize Downtime for Mirrored Databases When Upgrading Server Instances.

トランザクションの安全性と動作モードTransaction Safety and Operating Modes

動作モードは、トランザクションの安全性の設定によって、同期または非同期のいずれかになります。Whether an operating mode is asynchronous or synchronous depends on the transaction safety setting. SQL Server Management StudioSQL Server Management Studio だけを使用してデータベース ミラーリングを構成する場合、動作モードを選択するとトランザクションの安全性の設定が自動的に構成されます。If you exclusively use SQL Server Management StudioSQL Server Management Studio to configure database mirroring, transaction safety settings are configured automatically when you select the operation mode.

Transact-SQLTransact-SQL を使用してデータベース ミラーリングを構成する場合は、トランザクションの安全性の設定方法を理解しておく必要があります。If you use Transact-SQLTransact-SQL to configure database mirroring, you must understand how to set transaction safety. トランザクションの安全性は、ALTER DATABASE ステートメントの SAFETY プロパティにより制御されます。Transaction safety is controlled by the SAFETY property of the ALTER DATABASE statement. ミラー化されるデータベースでは、SAFETY は FULL または OFF になります。On a database that is being mirrored, SAFETY is either FULL or OFF.

  • SAFETY オプションが FULL に設定されている場合、初期同期フェーズの後、データベース ミラーリング動作が同期されます。If the SAFETY option is set to FULL, database mirroring operation is synchronous, after the initial synchronizing phase. ミラーリング監視サーバーが高い安全性モードに設定されている場合、セッションでは自動フェールオーバーがサポートされます。If a witness is set in high-safety mode, the session supports automatic failover.

  • SAFETY オプションを OFF に設定している場合、データベース ミラーリング動作は非同期になります。If the SAFETY option is set to OFF, database mirroring operation is asynchronous. セッションは高パフォーマンス モードで実行され、WITNESS オプションを OFF にする必要があります。The session runs in high-performance mode, and the WITNESS option should also be OFF.

詳しくは、「 Database Mirroring Operating Modes」をご覧ください。For more information, see Database Mirroring Operating Modes.

役割の交代Role Switching

データベース ミラーリング セッションでは、 役割の交代という処理により、一般的にプリンシパルとミラーの役割を相互交換できます。Within the context of a database mirroring session, the principal and mirror roles are typically interchangeable in a process known as role switching. 役割の交代では、プリンシパルの役割がミラー サーバーに移行されます。Role switching involves transferring the principal role to the mirror server. 役割の交代では、ミラー サーバーがプリンシパル サーバーの フェールオーバー パートナー として動作します。In role switching, the mirror server acts as the failover partner for the principal server. 役割の交代が発生すると、ミラー サーバーがプリンシパルの役割を継承し、データベースのコピーがプリンシパル データベースとしてオンラインになります。When a role switch occurs, the mirror server takes over the principal role and brings its copy of the database online as the new principal database. 以前のプリンシパル サーバーは利用可能であればミラーの役割を担い、サーバー内のデータベースを新しいミラー データベースにします。The former principal server, if available, assumes the mirror role, and its database becomes the new mirror database. 場合によっては、役割を何度も交代できます。Potentially, the roles can switch back and forth repeatedly.

役割の交代には次の 3 つの形態があります。The following three forms of role switching exist.

  • Automatic failoverAutomatic failover

    これには高い安全性モードが必要で、ミラー サーバーとミラーリング監視サーバーが存在している必要があります。This requires high-safety mode and the presence of the mirror server and a witness. データベースは既に同期されている必要があり、ミラーリング監視サーバーはミラー サーバーに接続している必要があります。The database must already be synchronized, and the witness must be connected to the mirror server.

    ミラーリング監視サーバーの役割は、特定のパートナー サーバーが稼働しているかどうかを確認することです。The role of the witness is to verify whether a given partner server is up and functioning. ミラー サーバーがプリンシパル サーバーへの接続を失っても、ミラーリング監視サーバーがそのままプリンシパル サーバーに接続している場合、ミラー サーバーはフェールオーバーを開始しません。If the mirror server loses its connection to the principal server but the witness is still connected to the principal server, the mirror server does not initiate a failover. 詳細については、「 データベース ミラーリング監視サーバー」を参照してください。For more information, see Database Mirroring Witness.

  • Manual failoverManual failover

    これには高い安全性モードが必要です。This requires high-safety mode. パートナーは互いに接続されている必要があり、データベースは既に同期されている必要があります。The partners must be connected to each other, and the database must already be synchronized.

  • サービスの強制 (データ損失の可能性あり)Forced service (with possible data loss)

    自動フェールオーバーを伴わない高パフォーマンス モードと高い安全性モードでは、プリンシパル サーバーで障害が発生し、ミラー サーバーが使用可能な場合、サービスの強制が可能です。Under high-performance mode and high-safety mode without automatic failover, forcing service is possible if the principal server has failed and the mirror server is available.

    重要

    高パフォーマンス モードは、ミラーリング監視サーバーなしでの実行を想定しています。High-performance mode is intended to run without a witness. ミラーリング監視サーバーが存在する場合、サービスの強制を行うにはミラーリング監視サーバーがミラー サーバーに接続している必要があります。But if a witness exists, forcing service requires that the witness is connected to the mirror server.

どの役割交代シナリオでも、新しいプリンシパル データベースがオンラインになると、クライアント アプリケーションはデータベースに再接続することにより即座に復旧できます。In any role-switching scenario, as soon as the new principal database comes online, the client applications can recover quickly by reconnecting to the database.

同時実行セッションConcurrent Sessions

特定のサーバー インスタンスを、同じサーバー インスタンスまたは別のサーバー インスタンスを含む複数の同時実行データベース ミラーリング セッションに (ミラー化されたデータベースごとに 1 回) 参加させることができます。A given server instance can participate in multiple, concurrent database mirroring sessions (once per mirrored database) with the same or different server instances. 多くの場合、サーバー インスタンスは、パートナーまたはミラーリング監視サーバーとしてすべてのデータベース ミラーリング セッション内で排他的に機能します。Often, a server instance serves exclusively as a partner or a witness in all of its database mirroring sessions. ただし、各セッションはその他のセッションから独立しているので、サーバー インスタンスは一部のセッションではパートナーとして機能し、それ以外のセッションではミラーリング監視サーバーとして機能することができます。However, because each session is independent of the other sessions, a server instance can act as a partner in some sessions and as a witness in other sessions. たとえば、3 つのサーバー インスタンス (SSInstance_1SSInstance_2、および SSInstance_3) の間に次の 4 つのセッションがあるとします。For example, consider the following four sessions among three server instances (SSInstance_1, SSInstance_2, and SSInstance_3). 各サーバー インスタンスは、一部のセッションではパートナーとして機能し、それ以外のセッションではミラーリング監視サーバーとして機能します。Each server instance serves as a partner in some sessions and as a witness in others:

サーバー インスタンスServer instance データベース A のセッションSession for database A データベース B のセッションSession for database B データベース C のセッションSession for database C データベース D のセッションSession for database D
SSInstance_1 ミラーリング監視サーバーWitness PartnerPartner PartnerPartner PartnerPartner
SSInstance_2 PartnerPartner ミラーリング監視サーバーWitness PartnerPartner PartnerPartner
SSInstance_3 PartnerPartner PartnerPartner ミラーリング監視サーバーWitness ミラーリング監視サーバーWitness

次の図に、2 つのミラーリング セッションに共にパートナーとして参加している 2 つのサーバー インスタンスを示します。The following figure illustrates two server instances that are participating as partners together in two mirroring sessions. 一方のセッションは Db_1というデータベース用で、もう一方のセッションは Db_2というデータベース用です。One session is for a database named Db_1, and the other session is for a database named Db_2.

2 つの同時実行セッション内の 2 つのサーバー インスタンスTwo server instances in two concurrent sessions

それぞれのデータベースは互いに独立しています。Each of the databases is independent of the others. たとえば、1 つのサーバー インスタンスが最初は 2 つのデータベースのミラー サーバーである場合があります。For example, a server instance might initially be the mirror server for two databases. 2 つのデータベースのいずれかでフェールオーバーが発生すると、そのサーバー インスタンスはもう一方のデータベースのミラー サーバーのまま、フェールオーバーしたデータベースのプリンシパル サーバーになります。If one of those databases fails over, the server instance becomes the principal server for the failed-over database while remaining the mirror server for the other database.

別の例として、自動フェールオーバーを伴う高い安全性モードで実行されている複数のデータベースのプリンシパル サーバーであるサーバー インスタンスを考えてみます。このインスタンスに障害が発生した場合、すべてのデータベースが自動的にそれぞれのミラー データベースにフェールオーバーされます。As another example, consider a server instance that is the principal server for two or more databases running in high-safety mode with automatic failover, If the server instance fails, all of the databases automatically failover to their respective mirror databases.

あるサーバー インスタンスをパートナーとしてもミラーリング監視サーバーとしても動作するように構成するときは、データベース ミラーリング エンドポイントで 2 つの役割がサポートされるようにしてください (詳細については、「 データベース ミラーリング エンドポイント (SQL Server))。When setting up a server instance to operate both as a partner and a witness, be sure that the database mirroring endpoint supports both roles (for more information, see The Database Mirroring Endpoint (SQL Server)). また、リソースの競合を回避するため、システムに十分なリソースを確保してください。Also, ensure that the system has sufficient resources to reduce resource contention.

注意

ミラー化したデータベースは互いに独立しているので、データベースをグループとしてフェールオーバーすることはできません。Because mirrored databases are independent of each other, databases cannot fail over as a group.

クライアント接続Client Connections

データベース ミラーリング セッションのクライアント接続サポートは、 MicrosoftMicrosoft .NET Data Provider for SQL ServerSQL Serverによって提供されます。Client-connection support for database mirroring sessions is provided by the MicrosoftMicrosoft .NET Data Provider for SQL ServerSQL Server. 詳細については、このトピックの「 データベース ミラーリング セッションへのクライアントの接続 (SQL Server)」を参照してください。For more information, see Connect Clients to a Database Mirroring Session (SQL Server).

プリンシパルのトランザクション ログに対するセッションの一時停止の影響Impact of Pausing a Session on the Principal Transaction Log

データベース所有者はいつでもセッションを一時停止できます。At any time, the database owner can pause a session. 一時停止では、ミラーリングは削除されますが、セッションの状態は保たれます。Pausing preserves the session state while removing mirroring. セッションが一時停止すると、プリンシパル サーバーからミラー サーバーに新しいログ レコードが送信されなくなります。When a session is paused, the principal server does not send any new log records to the mirror server. これらのレコードはすべてアクティブなままになり、プリンシパル データベースのトランザクション ログに蓄積されていきます。All of these records remain active and accumulate in the transaction log of the principal database. データベース ミラーリング セッションが一時停止している限り、トランザクション ログを切り捨てることはできません。As long as a database mirroring session remains paused, the transaction log cannot be truncated. したがって、データベース ミラーリング セッションが長時間一時停止になっていると、ログがいっぱいになります。Therefore, if the database mirroring session is paused for too long, the log can fill up.

詳細については、このトピックの「 データベース ミラーリングの一時停止と再開 (SQL Server)」を参照してください。For more information, see Pausing and Resuming Database Mirroring (SQL Server).

データベース ミラーリング セッションの設定Setting Up Database Mirroring Session

ミラーリング セッションを開始するには、あらかじめデータベース所有者またはシステム管理者がミラー データベースを作成し、エンドポイントおよびログインを構成する必要があります。また、場合によっては証明書を作成および構成する必要もあります。Before a mirroring session can begin, the database owner or system administrator must create the mirror database, set up endpoints and logins, and, in some cases, create and set up certificates. 詳細については、このトピックの「 データベース ミラーリングの設定 (SQL Server)」を参照してください。For more information, see Setting Up Database Mirroring (SQL Server).

その他のデータベース エンジン機能との相互運用性と共存Interoperability and Coexistence with Other Database Engine Features

データベース ミラーリングは、 SQL ServerSQL Serverの次の機能またはコンポーネントと共に使用できます。Database mirroring can be used with the following features or components of SQL ServerSQL Server.

トピックの内容In This Section

データベース ミラーリングの前提条件、制限事項、推奨事項Prerequisites, Restrictions, and Recommendations for Database Mirroring
データベース ミラーリングを設定するための前提条件と推奨事項について説明します。Describes the prerequisites and recommendations for setting up database mirroring.

Database Mirroring Operating ModesDatabase Mirroring Operating Modes
データベース ミラーリング セッションの同期動作モードおよび非同期動作モードと、データベース ミラーリング セッション中のパートナーの役割交代について説明します。Contains information about the synchronous and asynchronous operating modes for database mirroring sessions, and about switching partner roles during a database mirroring session.

データベース ミラーリング監視サーバーDatabase Mirroring Witness
データベース ミラーリングにおけるミラーリング監視サーバーの役割、複数のミラーリング セッションで 1 つのミラーリング監視サーバーを使用する方法、ミラーリング監視用のソフトウェアとハードウェアの推奨事項、および自動フェールオーバーにおけるミラーリング監視サーバーの役割について説明します。Describes the role of a witness in database mirroring, how to use a single witness in multiple mirroring sessions, software and hardware recommendations for witnesses, and the role of the witness in automatic failover. また、ミラーリング監視サーバーの追加または削除に関する情報も含まれます。It also contains information about adding or removing a witness.

データベース ミラーリング セッション中の役割の交代 (SQL Server)Role Switching During a Database Mirroring Session (SQL Server)
自動フェールオーバー、手動フェールオーバー、および強制的なサービスの起動 (データ損失の可能性あり) を含む、データベース ミラーリング セッション中のパートナーの役割交代について説明します。Contains information about switching partner roles during a database mirroring session, including automatic failover, manual failover, and forced service (with possible data loss). 役割の交代中に発生するサービスの中断時間の算出についても説明します。Also, contains information about estimating the interruption of service during role switching.

データベース ミラーリング中に発生する可能性のあるエラーPossible Failures During Database Mirroring
データベース ミラーリング セッションの失敗の原因となる物理的な問題、オペレーティング システムの問題、および SQL ServerSQL Server の問題 (ハード エラーとソフト エラーを含む) について説明します。Discusses physical, operating system, and SQL ServerSQL Server problems, including hard errors and soft errors, that can cause a failure in a database mirroring session. ミラーリング タイムアウト メカニズムがソフト エラーに対応する方法について説明します。Discusses how the mirroring time-out mechanism responds to soft errors.

データベース ミラーリング エンドポイント (SQL Server)The Database Mirroring Endpoint (SQL Server)
データベース ミラーリング エンドポイントがどのように機能するかについて説明します。Discusses how the database mirroring endpoint functions.

データベース ミラーリングの設定 (SQL Server)Setting Up Database Mirroring (SQL Server)
データベース ミラーリングを設定するための前提条件、推奨事項、および手順について説明します。Contains topics about the prerequisites, recommendations, and steps for setting up database mirroring.

データベース ミラーリング セッションへのクライアントの接続 (SQL Server)Connect Clients to a Database Mirroring Session (SQL Server)
クライアントの接続文字列の属性と、ミラー化されたデータベースにクライアントを接続および再接続するためのアルゴリズムについて説明します。Contains topics covering client connection-string attributes and the algorithms for connecting and reconnecting a client to a mirrored database.

データベース ミラーリングの一時停止と再開 (SQL Server)Pausing and Resuming Database Mirroring (SQL Server)
データベース ミラーリングを一時停止するとどのような状態になるのか (トランザクション ログの切り捨てに与える影響を含む) について説明します。データベース ミラーリングを一時停止および再開する方法の説明も含まれます。Discusses what happens while database mirroring is paused, including the impact on transaction log truncation, and contains descriptions about how to pause and resume database mirroring.

データベース ミラーリングの削除 (SQL Server)Removing Database Mirroring (SQL Server)
ミラーリングの削除による影響について説明します。セッションを終了する方法の説明も含まれます。Discusses the impact of removing mirroring and contains descriptions about how to end a session

データベース ミラーリングの監視 (SQL Server)Monitoring Database Mirroring (SQL Server)
データベース ミラーリング モニターまたは dbmmonitor ストアド プロシージャを使用したデータベース ミラーリングまたはセッションの監視について説明します。Contains information about using Database Mirroring Monitor or the dbmmonitor stored procedures to monitor database mirroring or sessions.

関連タスクRelated Tasks

構成のタスクConfiguration Tasks

SQL Server Management Studio の使用Using SQL Server Management Studio

Transact-SQL の使用Using Transact-SQL

Transact-SQL または SQL Server Management Studio の使用Using Transact-SQL or SQL Server Management Studio

管理タスクAdministrative Tasks

Transact-SQLTransact-SQL

SQL Server Management StudioSQL Server Management Studio

参照See Also

データベース ミラーリング エンドポイント (SQL Server) The Database Mirroring Endpoint (SQL Server)
ページの自動修復(可用性グループとデータベース ミラーリング) Automatic Page Repair (For Availability Groups and Database Mirroring)
データベース ミラーリング構成のトラブルシューティング (SQL Server) Troubleshoot Database Mirroring Configuration (SQL Server)
データベース ミラーリング:相互運用性と共存 (SQL Server) Database Mirroring: Interoperability and Coexistence (SQL Server)
データベース ミラーリングの前提条件、制限事項、推奨事項 Prerequisites, Restrictions, and Recommendations for Database Mirroring
AlwaysOn 可用性グループの概要(SQL Server) Overview of AlwaysOn Availability Groups (SQL Server)
ログ配布について (SQL Server)About Log Shipping (SQL Server)