Datenbankspiegelung (SQL Server)Database Mirroring (SQL Server)

GILT FÜR: jaSQL Server neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Hinweis

Dieses Feature befindet sich im Wartungsmodus und wird möglicherweise in einer künftigen Version von Microsoft SQL Server entfernt.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Verwenden Sie stattdessen AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups. Use AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups instead.

DieDatenbankspiegelung ist eine Lösung zum Verbessern der Verfügbarkeit einer SQL ServerSQL Server -Datenbank.Database mirroring is a solution for increasing the availability of a SQL ServerSQL Server database. Die Datenbankspiegelung wird auf Datenbankbasis implementiert und ist nur für Datenbanken mit dem vollständigen Wiederherstellungsmodell geeignet.Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model.

Wichtig

Informationen zur Unterstützung der Datenbankspiegelung, zu Einschränkungen, zu Voraussetzungen und zu Empfehlungen für die Konfiguration von Partnerservern sowie für die Bereitstellung der Datenbankspiegelung finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für die Datenbankspiegelung.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.

Vorteile der DatenbankspiegelungBenefits of Database Mirroring

Die Datenbankspiegelung ist eine einfache Strategie, die folgende Vorteile bietet:Database mirroring is a simple strategy that offers the following benefits:

  • Erhöht die Verfügbarkeit einer Datenbank.Increases availability of a database.

    Im Falle eines unvorhersehbaren Zwischenfalls wird beim Modus für hohe Sicherheit mit automatischem Failover die Standbykopie der Datenbank (ohne Datenverlust) rasch online gebracht.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 den anderen Betriebsmodi hat der Datenbankadministrator die Möglichkeit, den Dienst (mit möglichem Datenverlust) für die Standbykopie der Datenbank zu erzwingen.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. Weitere Informationen finden Sie weiter unten in diesem Thema unter Rollenwechsel.For more information, see Role Switching, later in this topic.

  • Erhöht den Datenschutz.Increases data protection.

    Die Datenbankspiegelung bietet eine vollständige oder nahezu vollständige Datenredundanz, abhängig davon, ob es sich beim Betriebsmodus um den Modus für hohe Sicherheit oder den Modus für hohe Leistung handelt.Database mirroring provides complete or almost complete redundancy of the data, depending on whether the operating mode is high-safety or high-performance. Weitere Informationen finden Sie später in diesem Thema unter Betriebsmodi.For more information, see Operating Modes, later in this topic.

    Ein Datenbank-Spiegelungspartner, der unter SQL Server 2008 EnterpriseSQL Server 2008 Enterprise oder einer höheren Version ausgeführt wird, versucht automatisch, bestimmte Fehlertypen zu beheben, die das Lesen einer Datenseite verhindern.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. Der Partner, der eine Seite nicht lesen kann, fordert vom anderen Partner eine neue Kopie an.The partner that is unable to read a page requests a fresh copy from the other partner. Ist diese Anforderung erfolgreich, wird die nicht lesbare Seite durch die Kopie ersetzt. Dadurch kann der Fehler normalerweise behoben werden.If this request succeeds, the unreadable page is replaced by the copy, which usually resolves the error. Weitere Informationen finden Sie weiter unten in diesem Thema unter Automatische Seitenreparatur (Verfügbarkeitsgruppen: Datenbankspiegelung).For more information, see Automatic Page Repair (Availability Groups: Database Mirroring).

  • Verbessert die Verfügbarkeit der Produktionsdatenbank bei Upgrades.Improves the availability of the production database during upgrades.

    Um Ausfallzeiten für eine gespiegelte Datenbank zu minimieren, können Sie sequenziell die SQL ServerSQL Server -Instanzen aktualisieren, die die Failoverpartner hosten.To minimize downtime for a mirrored database, you can sequentially upgrade the instances of SQL ServerSQL Server that are hosting the failover partners. Auf diese Weise kommt es nur bei einem Failover zu einer Ausfallzeit.This will incur the downtime of only a single failover. Diese Art des Upgrades wird als paralleles Upgradebezeichnet.This form of upgrade is known as a rolling upgrade. Weitere Informationen finden Sie unter Upgrading Mirrored Instances.For more information, see Upgrading Mirrored Instances.

Begriffe und Definitionen zur DatenbankspiegelungDatabase Mirroring Terms and Definitions

Automatisches Failoverautomatic failover
Entspricht dem Prozess, bei dem im Fall eines Ausfalls des Prinzipalservers der Spiegelserver die Rolle des Prinzipalservers übernimmt und die zugehörige Kopie der Datenbank als Prinzipaldatenbank online zur Verfügung gestellt wird.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.

Failoverpartnerfailover partners
Entspricht den zwei Serverinstanzen (Prinzipalserver bzw. Spiegelserver), die als Rollenwechselpartner für eine gespiegelte Datenbank fungieren.The two server instances (the principal server or the mirror server) that act as role-switching partners for a mirrored database.

Erzwungener Dienstforced service
Entspricht einem Failover, der vom Datenbankinhaber initiiert wird. Dies erfolgt im Fall eines Fehlers des Prinzipalservers, bei dem Dienste an die Spiegeldatenbank übertragen werden, während sie sich in einem unbekannten Status befindet.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.

Modus mit hoher LeistungHigh-performance mode
Die Sitzung für die Datenbankspiegelung erfolgt asynchron und verwendet nur den Prinzipalserver und Spiegelserver.The database mirroring session operates asynchronously and uses only the principal server and mirror server. Die einzige Art des Rollenwechsels ist der erzwungene Dienst (mit möglichem Datenverlust).The only form of role switching is forced service (with possible data loss).

Modus für hohe SicherheitHigh-safety mode
Die Sitzung für die Datenbankspiegelung erfolgt synchron und verwendet optional einen Zeugen sowie den Prinzipalserver und Spiegelserver.The database mirroring session operates synchronously and, optionally, uses a witness, as well as the principal server and mirror server.

Manuelles Failovermanual failover
Entspricht einem Failover, das vom Datenbankbesitzer initiiert wird, während der Prinzipalserver weiter ausgeführt wird, und das Dienste von der Prinzipaldatenbank an die Spiegeldatenbank überträgt, während die beiden Datenbanken in synchronisiertem Zustand sind.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.

Spiegeldatenbankmirror database
Steht für die Kopie der Datenbank, die in der Regel vollständig mit der Prinzipaldatenbank synchronisiert wird.The copy of the database that is typically fully synchronized with the principal database.

Spiegelservermirror server
Entspricht in einer Datenbank-Spiegelungskonfiguration der Serverinstanz, auf der sich die Spiegeldatenbank befindet.In a database mirroring configuration, the server instance on which the mirror database resides.

Prinzipaldatenbankprincipal database
Steht im Fall der Datenbankspiegelung für eine Datenbank mit Lese-/Schreibzugriff, deren Transaktionsprotokoll-Datensätze für eine schreibgeschützte Datenbankkopie (eine Spiegeldatenbank) übernommen werden.In database mirroring, a read-write database whose transaction log records are applied to a read-only copy of the database (a mirror database).

Prinzipalserverprincipal server
Bei der Datenbankspiegelung der Partner, dessen Datenbank derzeit die Prinzipaldatenbank ist.In database mirroring, the partner whose database is currently the principal database.

Wiederholungswarteschlangeredo queue
Steht für empfangene Transaktionsprotokoll-Datensätze, die auf dem Datenträger eines Spiegelservers warten.Received transaction log records that are waiting on the disk of a mirror server.

Rolle (role)role
Der Prinzipalserver und Spiegelserver führen komplementäre Prinzipal- und Spiegelungsrollen aus.The principal server and mirror server perform complementary principal and mirror roles. Von einer dritten Serverinstanz wird optional die Rolle des Zeugen übernommen.Optionally, the role of witness is performed by a third server instance.

Rollenwechselrole switching
Entspricht der Übernahme der Prinzipalrolle durch den Spiegelserver.The taking over of the principal role by the mirror.

Sendewarteschlangesend queue
Entspricht nicht gesendeten Transaktionsprotokoll-Datensätzen, die auf dem Protokolldatenträger des Prinzipalservers gesammelt wurden.Unsent transaction log records that have accumulated on the log disk of the principal server.

Sitzungsession
Entspricht der Beziehung, die bei der Datenbankspiegelung zwischen dem Prinzipalserver, Spiegelserver und ggf. dem Zeugenserver (sofern vorhanden) auftritt.The relationship that occurs during database mirroring among the principal server, mirror server, and witness server (if present).

Entspricht nach dem Start oder Fortsetzen einer Spiegelungssitzung dem Prozess, durch den Protokolldatensätze der Prinzipaldatenbank, die sich auf dem Prinzipalserver angesammelt haben, an den Spiegelserver gesendet werden. Der Spiegelserver schreibt diese Protokolldatensätze so schnell wie möglich auf den Datenträger, um wieder auf den Stand des Prinzipalservers zu kommen.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.

TransaktionssicherheitTransaction safety
Entspricht einer spiegelungsspezifischen Datenbankeigenschaft, die bestimmt, ob eine Datenbank-Spiegelungssitzung synchron oder asynchron ausgeführt wird.A mirroring-specific database property that determines whether a database mirroring session operates synchronously or asynchronously. Es gibt zwei Sicherheitsstufen: FULL und OFF.There are two safety levels: FULL and OFF.

ZeugeWitness
Ist nur für den Modus mit hoher Sicherheit bestimmt und entspricht einer optionalen SQL Server-Instanz, durch die der Spiegelserver den Zeitpunkt für die Initiierung eines automatischen Failovers erkennen kann.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. Im Gegensatz zu den zwei Failoverpartnern bedient der Zeuge nicht die Datenbank.Unlike the two failover partners, the witness does not serve the database. Die Unterstützung des automatischen Failovers ist die einzige Aufgabe des Zeugen.Supporting automatic failover is the only role of the witness.

Übersicht über die DatenbankspiegelungOverview of Database Mirroring

Die Datenbankspiegelung verwaltet zwei Kopien einer Datenbank, die sich auf verschiedenen Serverinstanzen von SQL Server-Datenbank-EngineSQL Server Database Enginebefinden müssen.Database mirroring maintains two copies of a single database that must reside on different server instances of SQL Server-Datenbank-EngineSQL Server Database Engine. In der Regel befinden sich diese Serverinstanzen auf Computern an verschiedenen Standorten.Typically, these server instances reside on computers in different locations. Durch das Starten einer Datenbankspiegelung auf einer Datenbank wird eine Beziehung zwischen den beiden Serverinstanzen initiiert, die als Datenbank-Spiegelungssitzungbekannt ist.Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances.

Eine Serverinstanz liefert die Daten der Datenbank an Clients. Dies ist der Prinzipalserver.One server instance serves the database to clients (the principal server). Die andere Instanz fungiert je nach Konfiguration und Status der Spiegelungssitzung als (unmittelbar) betriebsbereiter Standbyserver ( Spiegelserver).The other instance acts as a hot or warm standby server (the mirror server), depending on the configuration and state of the mirroring session. Wird eine Datenbankspiegelungssitzung synchronisiert, stellt die Datenbankspiegelung einen unmittelbar betriebsbereiten Standbyserver bereit, der schnelle Failover unterstützt, ohne dass Daten aus Transaktionen, für die ein Commit ausgeführt wurde, verloren gehen.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. Wird die Sitzung nicht synchronisiert, steht der Spiegelserver in der Regel als betriebsbereiter Standbyserver zur Verfügung (bei möglichem Datenverlust).When the session is not synchronized, the mirror server is typically available as a warm standby server (with possible data loss).

Der Prinzipal- und der Spiegelserver kommunizieren und kooperieren als Partner in einer Datenbank-Spiegelungssitzung.The principal and mirror servers communicate and cooperate as partners in a database mirroring session. Die beiden Partner führen sich ergänzende Rollen für die Sitzung aus: die Prinzipalrolle und die Spiegelrolle.The two partners perform complementary roles in the session: the principal role and the mirror role. Ein Partner übernimmt jeweils die Prinzipalrolle und ein anderer Partner die Spiegelrolle.At any given time, one partner performs the principal role, and the other partner performs the mirror role. Jeder Partner wird als Besitzer seiner aktuellen Rolle beschrieben.Each partner is described as owning its current role. Der Partner, der Besitzer der Prinzipalrolle ist, wird als Prinzipalserverbezeichnet, und die Kopie der Datenbank ist die aktuelle Prinzipaldatenbank.The partner that owns the principal role is known as the principal server, and its copy of the database is the current principal database. Der Partner, der Besitzer der Spiegelrolle ist, wird als Spiegelserverbezeichnet, und die Kopie der Datenbank ist die aktuelle Spiegeldatenbank.The partner that owns the mirror role is known as the mirror server, and its copy of the database is the current mirror database. Wird die Datenbankspiegelung in einer Produktionsumgebung bereitgestellt, ist die Prinzipaldatenbank die Produktionsdatenbank.When database mirroring is deployed in a production environment, the principal database is the production database.

Bei der Datenbankspiegelung wird jeder Einfüge-, Update- und Löschvorgang, der für die Prinzipaldatenbank ausgeführt wird, so schnell wie möglich in der Spiegeldatenbank wiederholt .Database mirroring involves redoing every insert, update, and delete operation that occurs on the principal database onto the mirror database as quickly as possible. Diese Wiederholung erfolgt, indem ein Datenstrom von aktiven Transaktionsprotokoll-Datensätzen an den Spiegelserver gesendet wird, der die Protokolldatensätze der Reihe nach und so schnell wie möglich auf die Spiegeldatenbank anwendet.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. Im Gegensatz zur Replikation, die auf der logischen Ebene erfolgt, erfolgt die Datenbankspiegelung auf der Ebene des physischen Protokolldatensatzes.Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record. Ab SQL Server 2008SQL Server 2008komprimiert der Prinzipalserver den Datenstrom von Transaktionsprotokoll-Datensätzen vor dem Senden des Datenstroms an den Spiegelserver.Beginning in SQL Server 2008SQL Server 2008, the principal server compresses the stream of transaction log records before sending it to the mirror server. Diese Protokollkomprimierung erfolgt in allen Spiegelungssitzungen.This log compression occurs in all mirroring sessions.

Hinweis

Eine Serverinstanz kann an mehreren gleichzeitigen Datenbank-Spiegelungssitzungen mit den gleichen oder anderen Partnern teilnehmen.A given server instance can participate in multiple concurrent database mirroring sessions with the same or different partners. Eine Serverinstanz kann bei manchen Sitzungen als Partner und bei anderen Sitzungen als Zeuge dienen.A server instance can be a partner in some sessions and a witness in other sessions. Die Spiegelserverinstanz muss die gleiche Edition von SQL ServerSQL Serverausführen.The mirror server instance must be running the same edition of SQL ServerSQL Server.

In diesem Abschnitt:In This Section:

BetriebsmodiOperating Modes

Eine Datenbank-Spiegelungssitzung wird entweder im synchron oder asynchron ausgeführt.A database mirroring session runs with either synchronous or asynchronous operation. Im asynchronen Betrieb wird für die Transaktionen ein Commit ausgeführt, ohne darauf zu warten, dass der Spiegelserver das Protokoll auf den Datenträger schreibt, wodurch die Leistung maximiert wird.Under asynchronous operation, the transactions commit without waiting for the mirror server to write the log to disk, which maximizes performance. Im synchronen Betrieb wird für eine Transaktion auf beiden Partnern ein Commit ausgeführt, jedoch mit dem Risiko einer erhöhten Transaktionslatenzzeit.Under synchronous operation, a transaction is committed on both partners, but at the cost of increased transaction latency.

Es existieren zwei Betriebsmodi für die Datenbankspiegelung.There are two mirroring operating modes. Einer der Modi, der Modus für hohe Sicherheit unterstützt synchrone Vorgänge.One of them, high-safety mode supports synchronous operation. Zu Beginn einer Sitzung im Modus für hohe Sicherheit synchronisiert der neue Spiegelserver die neue Spiegeldatenbank so schnell wie möglich mit der Prinzipaldatenbank.Under high-safety mode, when a session starts, the mirror server synchronizes the mirror database together with the principal database as quickly as possible. Sobald die Datenbanken synchronisiert wurden, wird für eine Transaktion auf beiden Partnern ein Commit ausgeführt, jedoch mit dem Risiko einer erhöhten Transaktionslatenzzeit.As soon as the databases are synchronized, a transaction is committed on both partners, at the cost of increased transaction latency.

Der zweite Betriebsmodus, der Modus für hohe Leistung, wird asynchron ausgeführt.The second operating mode, high-performance mode, runs asynchronously. Der Spiegelserver versucht, mit den Protokolldatensätzen, die vom Prinzipalserver gesendet werden, Schritt zu halten.The mirror server tries to keep up with the log records sent by the principal server. Die Spiegeldatenbank hinkt eventuell hinter der Prinzipaldatenbank hinterher.The mirror database might lag somewhat behind the principal database. Der Abstand zwischen den beiden Datenbanken ist jedoch im Allgemeinen sehr klein.However, typically, the gap between the databases is small. Er kann jedoch erheblich größer werden, wenn der Prinzipalserver stark ausgelastet ist oder wenn das System des Spiegelservers überlastet ist.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.

Sobald der Prinzipalserver im Modus für hohe Leistung einen Protokolldatensatz an den Spiegelserver sendet, wird vom Prinzipalserver eine Bestätigung an den Client gesendet.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. Der Prinzipalserver wartet dabei nicht auf eine Bestätigung des Spiegelservers.It does not wait for an acknowledgement from the mirror server. Dies bedeutet, dass für die Transaktionen ein Commit ausgeführt wird, ohne darauf zu warten, dass der Spiegelserver das Protokoll auf den Datenträger schreibt.This means that transactions commit without waiting for the mirror server to write the log to disk. Dieser asynchrone Betrieb bewirkt, dass der Prinzipalserver mit minimaler Transaktionslatenzzeit ausgeführt werden kann, wobei jedoch das Risiko eines möglichen Datenverlustes besteht.Such asynchronous operation enables the principal server to run with minimum transaction latency, at the potential risk of some data loss.

Alle Datenbank-Spiegelungssitzungen unterstützen nur einen Prinzipalserver und einen Spiegelserver.All database mirroring sessions support only one principal server and one mirror server. Diese Konfiguration wird in der folgenden Abbildung dargestellt.This configuration is shown in the following illustration.

Partner in einer Datenbank-SpiegelungssitzungPartners in a database mirroring session

Der Modus für hohe Sicherheit mit automatischem Failover erfordert eine dritte Serverinstanz, die als Zeugebezeichnet wird.High-safety mode with automatic failover requires a third server instance, known as a witness. Im Gegensatz zu den beiden Partnern stellt der Zeuge die Datenbank nicht bereit.Unlike the two partners, the witness does not serve the database. Der Zeuge unterstützt das automatische Failover dadurch, dass er überprüft, ob der Prinzipalserver aktiv und funktionsfähig ist.The witness supports automatic failover by verifying whether the principal server is up and functioning. Der Spiegelserver initiiert das automatische Failover nur, wenn der Spiegel und der Zeuge miteinander verbunden bleiben, nachdem beide vom Prinzipalserver getrennt wurden.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.

Die folgende Abbildung zeigt eine Konfiguration mit einem Zeugen.The following illustration shows a configuration that includes a witness.

Spiegelungssitzung mit einem ZeugenA mirroring session that includes a witness

Weitere Informationen finden Sie weiter unten in diesem Thema unter Rollenwechsel.For more information, see Role Switching, later in this topic.

Hinweis

Damit eine neue Spiegelungssitzung eingerichtet bzw. einer bestehenden Spiegelungskonfiguration ein Zeuge hinzugefügt werden kann, muss auf allen beteiligten Serverinstanzen dieselbe Version von SQL ServerSQL Serverausgeführt werden.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. Nach dem Upgrade auf SQL Server 2008SQL Server 2008 oder eine spätere Version können sich die Versionen der beteiligten Instanzen jedoch unterscheiden.However, when you are upgrading to SQL Server 2008SQL Server 2008 or a later version, the versions of the involved instances can vary. Weitere Informationen finden Sie unter Upgrading Mirrored Instances.For more information, see Upgrading Mirrored Instances.

Transaktionssicherheit und BetriebsmodiTransaction Safety and Operating Modes

Ob ein Betriebsmodus asynchron oder synchron ist, hängt von der Transaktionssicherheitseinstellung ab.Whether an operating mode is asynchronous or synchronous depends on the transaction safety setting. Wenn Sie ausschließlich SQL Server Management StudioSQL Server Management Studio zum Konfigurieren der Datenbankspiegelung verwenden, werden die Transaktionssicherheitseinstellungen automatisch konfiguriert, wenn Sie den Betriebsmodus auswählen.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.

Wenn Sie die Datenbankspiegelung mit Transact-SQLTransact-SQL konfigurieren, müssen Sie wissen, wie die Transaktionssicherheit eingestellt wird.If you use Transact-SQLTransact-SQL to configure database mirroring, you must understand how to set transaction safety. Die Transaktionssicherheit wird durch die SAFETY-Eigenschaft der ALTER DATABASE-Anweisung gesteuert.Transaction safety is controlled by the SAFETY property of the ALTER DATABASE statement. Für eine Datenbank, die gespiegelt wird, ist SAFETY auf FULL oder OFF festgelegt.On a database that is being mirrored, SAFETY is either FULL or OFF.

  • Wurde die Option SAFETY auf FULL festgelegt, erfolgt die Datenbankspiegelung nach der anfänglichen Synchronisierungsphase im synchronen Betrieb.If the SAFETY option is set to FULL, database mirroring operation is synchronous, after the initial synchronizing phase. Wird ein Zeuge im Modus für hohe Sicherheit eingerichtet, unterstützt die Sitzung automatisches Failover.If a witness is set in high-safety mode, the session supports automatic failover.

  • Wurde die Option SAFETY auf OFF festgelegt, erfolgt die Datenbankspiegelung im asynchronen Betrieb.If the SAFETY option is set to OFF, database mirroring operation is asynchronous. Die Sitzung wird im Modus für hohe Leistung ausgeführt, und die Option WITNESS sollte ebenfalls auf OFF festgelegt sein.The session runs in high-performance mode, and the WITNESS option should also be OFF.

    Weitere Informationen finden Sie unter Database Mirroring Operating Modes.For more information, see Database Mirroring Operating Modes.

RollenwechselRole Switching

Im Kontext einer Datenbank-Spiegelungssitzung können die Prinzipal- und Spiegelrollen normalerweise im Rahmen des so genannten Rollenwechselsausgetauscht werden.Within the context of a database mirroring session, the principal and mirror roles are typically interchangeable in a process known as role switching. Beim Rollenwechsel wird die Prinzipalrolle auf den Spiegelserver übertragen.Role switching involves transferring the principal role to the mirror server. Der Spiegelserver dient beim Rollenwechsel als Failoverpartner für den Prinzipalserver.In role switching, the mirror server acts as the failover partner for the principal server. Wenn ein Rollenwechsel stattfindet, übernimmt der Spiegelserver die Prinzipalrolle und schaltet seine Kopie der Datenbank als neue Prinzipaldatenbank online.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. Der ehemalige Prinzipalserver übernimmt, falls er verfügbar ist, die Spiegelrolle, und die zugehörige Datenbank wird zur neuen Spiegeldatenbank.The former principal server, if available, assumes the mirror role, and its database becomes the new mirror database. Potenziell können die Rollen wiederholt hin- und hergewechselt werden.Potentially, the roles can switch back and forth repeatedly.

Es stehen die folgenden drei Arten des Rollenwechsels zur Verfügung:The following three forms of role switching exist.

  • Automatic failoverAutomatic failover

    Voraussetzung dafür sind der Modus für hohe Sicherheit und die Präsenz des Spiegelservers und eines Zeugen.This requires high-safety mode and the presence of the mirror server and a witness. Die Datenbank muss bereits synchronisiert worden sein, und der Zeuge muss mit dem Spiegelserver verbunden sein.The database must already be synchronized, and the witness must be connected to the mirror server.

    Aufgabe des Zeugen ist es, zu überprüfen, ob ein bestimmter Partnerserver betriebsbereit ist und funktioniert.The role of the witness is to verify whether a given partner server is up and functioning. Wenn der Spiegelserver die Verbindung zum Prinzipalserver verliert, der Zeuge jedoch weiterhin mit dem Prinzipalserver verbunden ist, initiiert der Spiegelserver kein Failover.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. Weitere Informationen finden Sie unter Datenbank-Spiegelungszeuge.For more information, see Database Mirroring Witness.

  • Manual failoverManual failover

    Voraussetzung ist der Modus für hohe Sicherheit.This requires high-safety mode. Die Partner müssen miteinander verbunden sein, und die Datenbank muss bereits synchronisiert worden sein.The partners must be connected to each other, and the database must already be synchronized.

  • Erzwungener Dienst (mit möglichem Datenverlust)Forced service (with possible data loss)

    Das Erzwingen des Diensts ist im Modus für hohe Leistung und im Modus für hohe Sicherheit mit automatischem Failover möglich, wenn ein Ausfall des Prinzipalserver aufgetreten ist und der Spiegelserver zur Verfügung steht.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.

    Wichtig

    Der Modus für hohe Leistung wurde so konzipiert, dass er ohne einen Zeugen ausgeführt werden kann.High-performance mode is intended to run without a witness. Ist jedoch ein Zeuge vorhanden, muss dieser mit dem Spiegelserver verbunden sein, damit der Dienst erzwungen werden kann.But if a witness exists, forcing service requires that the witness is connected to the mirror server.

    In einem Rollenwechselszenario können die Clientanwendungen schnell wiederhergestellt werden, nachdem die neue Prinzipaldatenbank online geschaltet wurde, indem erneut eine Verbindung mit der Datenbank hergestellt wird.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.

Gleichzeitige SitzungenConcurrent Sessions

Eine Serverinstanz kann an mehreren gleichzeitigen Datenbank-Spiegelungssitzungen (eine pro gespiegelter Datenbank) mit denselben oder mit anderen Serverinstanzen teilnehmen.A given server instance can participate in multiple, concurrent database mirroring sessions (once per mirrored database) with the same or different server instances. Häufig dient eine Serverinstanz ausschließlich als Partner oder als Zeuge in allen Datenbank-Spiegelungssitzungen.Often, a server instance serves exclusively as a partner or a witness in all of its database mirroring sessions. Da jedoch jede Sitzung von den anderen Sitzungen unabhängig ist, kann eine Serverinstanz in einigen Sitzungen als Partner und in anderen Sitzungen als Zeuge fungieren.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. Betrachten Sie beispielsweise die folgenden vier Sitzungen zwischen drei Serverinstanzen (SSInstance_1, SSInstance_2und SSInstance_3).For example, consider the following four sessions among three server instances (SSInstance_1, SSInstance_2, and SSInstance_3). Jede Serverinstanz dient in manchen Sitzungen als Partner und in anderen Sitzungen wiederum als Zeuge.Each server instance serves as a partner in some sessions and as a witness in others:

ServerinstanzServer instance Sitzung für Datenbank ASession for database A Sitzung für Datenbank BSession for database B Sitzung für Datenbank CSession for database C Sitzung für Datenbank DSession for database D
SSInstance_1 ZeugeWitness PartnerPartner PartnerPartner PartnerPartner
SSInstance_2 PartnerPartner ZeugeWitness PartnerPartner PartnerPartner
SSInstance_3 PartnerPartner PartnerPartner ZeugeWitness ZeugeWitness

Die folgende Abbildung veranschaulicht zwei Serverinstanzen, die zusammen als Partner an zwei Spiegelungssitzungen teilnehmen.The following figure illustrates two server instances that are participating as partners together in two mirroring sessions. Eine Sitzung wird für eine Datenbank namens Db_1und die andere für eine Datenbank namens Db_2ausgeführt.One session is for a database named Db_1, and the other session is for a database named Db_2.

Zwei Serverinstanzen in zwei gleichzeitigen SitzungenTwo server instances in two concurrent sessions

Jede der Datenbanken ist unabhängig von den anderen.Each of the databases is independent of the others. Beispielsweise könnte eine Serverinstanz zunächst der Spiegelserver für zwei Datenbanken sein.For example, a server instance might initially be the mirror server for two databases. Wenn eine dieser Datenbanken ein Failover ausführt, wird die Serverinstanz zum Prinzipalserver für die Datenbank, die das Failover ausgeführt hat, während sie der Spiegelserver für die andere Datenbank bleibt.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.

Betrachten Sie als weiteres Beispiel eine Serverinstanz, die der Prinzipalserver für zwei oder mehr Datenbanken ist, die im Modus für hohe Sicherheit mit automatischem Failover ausgeführt werden. Wenn in der Serverinstanz ein Fehler auftritt, wird für alle Datenbanken automatisch ein Failover zu ihren jeweiligen Spiegeldatenbanken ausgeführt.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.

Stellen Sie beim Einrichten einer Serverinstanz für den Betrieb sowohl als Partner als auch als Zeuge sicher, dass der Endpunkt der Datenbankspiegelung beide Rollen unterstützt (weitere Informationen finden Sie unter Der Datenbankspiegelungs-Endpunkt (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)). Stellen Sie außerdem sicher, dass das System über genügend Ressourcen verfügt, um Ressourcenkonflikte zu reduzieren.Also, ensure that the system has sufficient resources to reduce resource contention.

Hinweis

Da gespiegelte Datenbanken voneinander unabhängig sind, ist für die Datenbanken kein Failover als Gruppe möglich.Because mirrored databases are independent of each other, databases cannot fail over as a group.

ClientverbindungenClient Connections

Unterstützung für Clientverbindungen wird vom MicrosoftMicrosoft .NET-Datenanbieter für SQL ServerSQL Serverbereitgestellt.Client-connection support for database mirroring sessions is provided by the MicrosoftMicrosoft .NET Data Provider for SQL ServerSQL Server. Weitere Informationen finden Sie weiter unten in diesem Thema unter Verbinden von Clients mit einer Datenbank-Spiegelungssitzung (SQL Server).For more information, see Connect Clients to a Database Mirroring Session (SQL Server).

Auswirkungen des Anhaltens einer Sitzung auf das PrinzipaltransaktionsprotokollImpact of Pausing a Session on the Principal Transaction Log

Der Datenbankbesitzer kann eine Sitzung jederzeit anhalten.At any time, the database owner can pause a session. Durch Anhalten bleibt der Sitzungsstatus erhalten, während die Spiegelung entfernt wird.Pausing preserves the session state while removing mirroring. Wenn eine Sitzung angehalten wird, sendet der Prinzipalserver keine neuen Protokolldatensätze an den Spiegelserver.When a session is paused, the principal server does not send any new log records to the mirror server. Alle diese Datensätze bleiben aktiv und werden im Transaktionsprotokoll der Prinzipaldatenbank gesammelt.All of these records remain active and accumulate in the transaction log of the principal database. Während eine Datenbank-Spiegelungssitzung angehalten wird, kann das Transaktionsprotokoll nicht abgeschnitten werden.As long as a database mirroring session remains paused, the transaction log cannot be truncated. Wird die Datenbank-Spiegelungssitzung zu lange angehalten, kann es somit sein, dass das Protokoll vollständig aufgefüllt wird.Therefore, if the database mirroring session is paused for too long, the log can fill up.

Weitere Informationen finden Sie weiter unten in diesem Thema unter Anhalten und Fortsetzen der Datenbankspiegelung (SQL Server).For more information, see Pausing and Resuming Database Mirroring (SQL Server).

Einrichten einer Sitzung für die DatenbankspiegelungSetting Up Database Mirroring Session

Vor dem Beginn einer Spiegelungssitzung muss der Datenbankbesitzer oder Systemadministrator die Spiegeldatenbank erstellen, Endpunkte und Anmeldungen einrichten und in einigen Fällen Zertifikate erstellen und einrichten.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. Weitere Informationen finden Sie weiter unten in diesem Thema unter Einrichten der Datenbankspiegelung (SQL Server).For more information, see Setting Up Database Mirroring (SQL Server).

Interoperabilität und Koexistenz mit anderen Datenbankmodul-FunktionenInteroperability and Coexistence with Other Database Engine Features

Die Datenbankspiegelung kann mit den folgenden Funktionen oder Komponenten von SQL ServerSQL Serververwendet werden:Database mirroring can be used with the following features or components of SQL ServerSQL Server.

In diesem AbschnittIn This Section

Voraussetzungen, Einschränkungen und Empfehlungen für die DatenbankspiegelungPrerequisites, Restrictions, and Recommendations for Database Mirroring
Beschreibt die Voraussetzungen und Empfehlungen zum Einrichten der Datenbankspiegelung.Describes the prerequisites and recommendations for setting up database mirroring.

Database Mirroring Operating ModesDatabase Mirroring Operating Modes
Enthält Informationen zu den synchronen und asynchronen Betriebsmodi für Datenbank-Spiegelungssitzungen sowie zum Wechseln von Partnerrollen während einer Datenbank-Spiegelungssitzung.Contains information about the synchronous and asynchronous operating modes for database mirroring sessions, and about switching partner roles during a database mirroring session.

Datenbank-SpiegelungszeugeDatabase Mirroring Witness
Beschreibt die Rolle eines Zeugen in der Datenbankspiegelung, die Verwendung eines einzelnen Zeugen in mehreren Spiegelungssitzungen, Software- und Hardwareempfehlungen für Zeugen sowie die Rolle des Zeugen bei einem automatischen Failover.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. Zudem sind auch Informationen zum Hinzufügen oder Entfernen eines Zeugen enthalten.It also contains information about adding or removing a witness.

Rollenwechsel während einer Datenbank-Spiegelungssitzung (SQL Server)Role Switching During a Database Mirroring Session (SQL Server)
Enthält Informationen zum Wechseln von Partnerrollen während einer Datenbank-Spiegelungssitzung, darunter automatisches Failover, manuelles Failover sowie erzwungener Dienst (mit möglichem Datenverlust).Contains information about switching partner roles during a database mirroring session, including automatic failover, manual failover, and forced service (with possible data loss). Außerdem sind Informationen zur Einschätzung der Dienstunterbrechung beim Rollenwechsel enthalten.Also, contains information about estimating the interruption of service during role switching.

Mögliche Fehler während der DatenbankspiegelungPossible Failures During Database Mirroring
Erläutert physische, betriebssystembezogene sowie SQL ServerSQL Server -spezifische Probleme, einschließlich schwerwiegender Fehler und Softwarefehler, die einen Fehler in einer Datenbank-Spiegelungssitzung verursachen können.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. Erläutert, wie der Spiegelungstimeoutmechanismus auf Softwarefehler reagiert.Discusses how the mirroring time-out mechanism responds to soft errors.

Der Datenbankspiegelungs-Endpunkt (SQL Server)The Database Mirroring Endpoint (SQL Server)
Erläutert die Funktionsweise von Datenbank-Spiegelungsendpunkten.Discusses how the database mirroring endpoint functions.

Einrichten der Datenbankspiegelung (SQL Server)Setting Up Database Mirroring (SQL Server)
Enthält Themen zu den Voraussetzungen, Empfehlungen und Schritten zum Einrichten der Datenbankspiegelung.Contains topics about the prerequisites, recommendations, and steps for setting up database mirroring.

Verbinden von Clients mit einer Datenbank-Spiegelungssitzung (SQL Server)Connect Clients to a Database Mirroring Session (SQL Server)
Enthält Themen zu Attributen von Clientverbindungszeichenfolgen und den Algorithmen für die Verbindung bzw. die Wiederherstellung der Verbindung eines Clients mit einer gespiegelten Datenbank.Contains topics covering client connection-string attributes and the algorithms for connecting and reconnecting a client to a mirrored database.

Anhalten und Fortsetzen der Datenbankspiegelung (SQL Server)Pausing and Resuming Database Mirroring (SQL Server)
Erläutert die Vorgänge im Fall einer angehaltenen Datenbankspiegelung, einschließlich der Auswirkungen auf Kürzungen von Transaktionsprotokollen. Zudem sind Beschreibungen zum Anhalten und Fortsetzen der Datenbankspiegelung enthalten.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.

Entfernen der Datenbankspiegelung (SQL Server)Removing Database Mirroring (SQL Server)
Erläutert die Auswirkungen des Entfernens einer Spiegelung und enthält Beschreibungen zum Beenden einer Sitzung.Discusses the impact of removing mirroring and contains descriptions about how to end a session

Überwachen der Datenbankspiegelung (SQL Server)Monitoring Database Mirroring (SQL Server)
Enthält Informationen zum Verwenden des Datenbankspiegelungs-Monitors bzw. der gespeicherten Prozeduren von dbmmonitor zum Überwachen der Datenbankspiegelung bzw. von Datenbank-Spiegelungssitzungen.Contains information about using Database Mirroring Monitor or the dbmmonitor stored procedures to monitor database mirroring or sessions.

Verwandte AufgabenRelated Tasks

KonfigurationstasksConfiguration Tasks

Verwendung von SQL Server Management StudioUsing SQL Server Management Studio

Administrative TasksAdministrative Tasks

Transact-SQLTransact-SQL

Weitere Informationen finden Sie unterSee Also

Der Datenbankspiegelungs-Endpunkt (SQL Server) The Database Mirroring Endpoint (SQL Server)
Automatische Seitenreparatur (Verfügbarkeitsgruppen: Datenbankspiegelung) Automatic Page Repair (Availability Groups: Database Mirroring)
Problembehandlung für die Datenbankspiegelungskonfiguration (SQL Server) Troubleshoot Database Mirroring Configuration (SQL Server)
Datenbankspiegelung: Interoperabilität und Koexistenz (SQL Server) Database Mirroring: Interoperability and Coexistence (SQL Server)
Voraussetzungen, Einschränkungen und Empfehlungen für die Datenbankspiegelung Prerequisites, Restrictions, and Recommendations for Database Mirroring
Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server) Overview of Always On Availability Groups (SQL Server)
Informationen zum Protokollversand (SQL Server)About Log Shipping (SQL Server)