Konfigurieren der Verfügbarkeit in einer einzelnen Farm mithilfe von SQL Server-Datenbankspiegelung
In diesem Artikel wird beschrieben, wie Sie Datenbankspiegelung mit hoher Verfügbarkeit verwenden, um die Verfügbarkeit in einer Farm für Microsoft Office SharePoint Server 2007 zu konfigurieren. Der Artikel setzt voraus, dass Sie mit den Konzepten und Begriffen vertraut sind, die in Planen der Verfügbarkeit (Office SharePoint Server) vorgestellt wurden.
Die Datenbankspiegelung in Microsoft SQL Server 2005 unterstützt die Verfügbarkeit, indem Transaktionen direkt aus einer Prinzipaldatenbank und einem Prinzipalserver jedes Mal an eine Spiegeldatenbank und einen Spiegelserver gesendet werden, wenn der Transaktionsprotokollpuffer der Prinzipaldatenbank auf den Datenträger geschrieben wird. Es wird empfohlen, für Verfügbarkeit in einer Microsoft Office SharePoint Server 2007-Farm die Datenbankspiegelung mit hoher Verfügbarkeit zu verwenden, die auch als Hochsicherheitsmodus mit automatischem Failover bezeichnet wird. Die Datenbankspiegelung mit hoher Verfügbarkeit umfasst drei Serverinstanzen: einen Prinzipalserver, einen Spiegelserver und einen Zeugenserver. Der Zeugenserver ermöglicht SQL Server einen automatischen Failover vom Prinzipalserver auf den Spiegelserver. Der Failover der Prinzipaldatenbank zur Spiegeldatenbank dauert normalerweise einige Sekunden.
In einer SharePoint-Farm kann durch Spiegelung Redundanz für alle Datenbanken bereitgestellt werden - wenn für Datenbanken ein Failover ausgeführt wird, wird angenommen, dass die Front-End-Webserver verfügbar bleiben. In der folgenden Abbildung wird gezeigt, wie die Spiegelung konfiguriert wird, um hohe Verfügbarkeit in einer Farm bereitzustellen.
In Microsoft Office SharePoint Server 2007 wird Spiegelung nicht unterstützt. Wenn Sie Spiegelung als Verfügbarkeitslösung verwenden möchten, wird empfohlen, die Datenbanken für die Verwendung von SQL Server-Clientaliasing zu konfigurieren und Skripts auszuführen, um den SQL Server-Clientalias beim Failover zu ändern.
Anforderungen für die Datenbankspiegelung
Stellen Sie vor dem Konfigurieren der Datenbankspiegelung sicher, dass die Datenbanken und das System die folgenden Anforderungen erfüllen:
Für das System wird eine Latenz von nicht mehr als 1 Millisekunde empfohlen.
Die Systembandbreite sollte vorzugsweise 1 GB pro Sekunde betragen.
Protokolle werden in Echtzeit zwischen den Prinzipal- und Spiegelservern kopiert, und durch das Kopieren kann die Leistung beeinträchtigt werden. Stellen Sie sicher, dass sowohl auf dem Prinzipalserver als auch auf dem Spiegelserver ausreichender Arbeitsspeicher und ausreichende Bandbreite vorhanden ist.
Auf dem Prinzipalserver und auf dem Spiegelserver muss die gleiche Edition von Microsoft SQL Server 2005 mit Service Pack 1 (SP1) ausgeführt werden. Datenbankspiegelung ist nur in den Editionen Standard, Developer und Enterprise verfügbar. Auf dem Zeugenserver kann eine beliebige Version von SQL Server 2005, einschließlich SQL Server 2005 Express Edition, ausgeführt werden.
Spiegelung kann nur für Datenbanken verwendet werden, für die das vollständige Wiederherstellungsmodell verwendet wird.
Standardmäßig sind Microsoft Office SharePoint Server 2007-SSP-Datenbanken für die Verwendung des einfachen Wiederherstellungsmodells konfiguriert. Zum Konfigurieren der Datenbankspiegelung muss das Wiederherstellungsmodell der Datenbank auf Vollständig festgelegt sein. Weitere Informationen zum Festlegen des Wiederherstellungsmodells für eine Datenbank finden Sie unter Vorgehensweise: Anzeigen oder Ändern eines Wiederherstellungsmodells einer Datenbank (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x407).
Berücksichtigen Sie beim Planen der Spiegelung von SSP-Datenbanken, dass das Transaktionsprotokoll für diese Datenbanken sehr groß werden kann. Ziehen Sie als Umgehung dieses Problems einen Wiederherstellungsplan in Betracht, bei dem Transaktionsprotokolle nach Bedarf abgeschnitten werden. Weitere Informationen finden Sie im folgenden Artikel in der Microsoft Knowledge Base: So verhindern Sie, dass das Transaktionsprotokoll einer SQL Server-Datenbank unerwarteterweise größer wird (https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x407).
Bei jeder Datenbankspiegelungssitzung werden für jede Datenbank mindestens zwei Threads erstellt. Stellen Sie sicher, dass auf dem Datenbankserver genug Threads vorhanden sind, um diese für die Spiegelung aller unterstützten Datenbanken zuzuordnen. Wenn nicht genug Threads vorhanden sind, kann dies die Leistung zunehmend beeinträchtigen, wenn einer Sitzung weitere Datenbanken hinzugefügt werden.
In der Hostingumgebung bei Microsoft wurde festgestellt, dass ein Maximum von 50 Datenbanken für die Spiegelung von Datenbanken von einer einzigen SQL Server-Instanz, in der SharePoint-Produkte und -Technologien gehostet werden, angemessen ist. Dieses Maximum basiert auf der Ressourcenintensität der Spiegelung (für jede Prinzipalinstanz und jede Spiegelinstanz sind dedizierte Threads erforderlich) und der Tests. Ihre Ergebnisse können abhängig von den folgenden Faktoren abweichen:
Arbeitsspeicher der Prinzipal- und Spiegelinstanzen
Verarbeitungsleistung der Prinzipal- und Spiegelinstanzen
Bandbreite der E/A-Subsysteme auf den Prinzipal- und Spiegelinstanzen
Menge der Transaktionsprotokolle, die durch die Arbeitsauslastung in den einzelnen Datenbanken generiert werden
Netzwerkbandbreite zwischen den Prinzipal- und Spiegelinstanzen
Weitere Informationen zur Leistung und zum Maßstab für die Datenbankspiegelung finden Sie unter Datenbankspiegelung in SQL Server 2005 (in englischer Sprache) (https://go.microsoft.com/fwlink/?linkid=83566&clcid=0x407).
Sicherheit im Zusammenhang mit der Datenbankspiegelung
Bei der Datenbankspiegelung werden TCP-Sitzungen verwendet, um das Transaktionsprotokoll von einem Server zu einem anderen zu transportieren und die aktuelle Integrität des System auf automatische Failover zu überwachen. Die Authentifizierung wird auf Sitzungsebene ausgeführt, wenn ein Port für eine Verbindung geöffnet wird.
Windows-Authentifizierung (NTLM oder Kerberos)
Zertifikate
In diesem Dokument wird die Verwendung von Datenbankspiegelung mit Zertifikaten beschrieben. Weitere Informationen zum Verwenden von Windows-Authentifizierung für die Datenbankspiegelung finden Sie unter Beispiel: Einrichten der Datenbankspiegelung mithilfe der Windows-Authentifizierung (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=83567&clcid=0x407).
Wenn das Netzwerk nicht sicher ist, sollten die während der Sitzung übertragenen Daten verschlüsselt werden. In diesem Dokument wird beschrieben, wie Sie Verschlüsselung für die über das Netzwerk übertragenen Daten mithilfe von RC4 einrichten. Für die Datenbankspiegelung werden jedoch die Verschlüsselungsalgorithmen AES und RC4 unterstützt. Weitere Informationen zur Sicherheit im Zusammenhang mit der Datenbankspiegelung finden Sie unter Transportsicherheit bei der Datenbankspiegelung (https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x407).
SharePoint-Sicherheit und gespiegelte Server
Beim Einrichten einer gespiegelten Datenbank werden die SQL Server-Anmeldungen und -Berechtigungen für die Datenbank, die für eine SharePoint-Farm verwendet werden soll, nicht automatisch in den Master- und MSDB-Datenbanken auf dem Spiegelserver konfiguriert. Stattdessen müssen Sie die Berechtigungen für die erforderlichen Anmeldungen konfigurieren. Dazu gehört unter anderem Folgendes:
Das Anwendungspoolkonto für die Zentraladministration sollte Mitglied der festen Serverrollen dbcreator und securityadmin sein.
Alle Anwendungspoolkonten sowie die Suchdienste und die standardmäßigen Inhaltszugriffskonten sollten über SQL Server-Anmeldungen verfügen, obwohl sie nicht festen SQL Server-Serverrollen oder Datenbankrollen zugewiesen sind.
Mitglieder der SharePoint-Gruppe der Farmadministratoren sollten ebenfalls über SQL Server-Anmeldungen verfügen und Mitglieder der gleichen Rollen sein wie das Anwendungspoolkonto für die Zentraladministration.
Es wird empfohlen, die Anmeldungen und Berechtigungen durch Ausführen eines Skripts vom Prinzipalserver auf den Spiegelserver zu übertragen. Ein Beispielskript ist in Knowledge Base-Artikel 918992, Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x407) verfügbar. Allgemeinere Informationen zum Übertragen von SQL Server-Metadaten zwischen Instanzen finden Sie im Artikel Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz (https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x407) in der SQL Server-Onlinedokumentation.
Empfohlene Topologien
Es wird empfohlen, eine 1:1-Zuordnung zwischen Prinzipalserver und Spiegelserver aufrechterhalten, um die Kompatibilität mit SharePoint-Produkten und -Technologien sicherzustellen.
Zu den unterstützten Topologien gehört die Spiegelung aller Inhaltsdatenbanken, der Konfigurationsdatenbank und der Inhaltsdatenbank der Zentraladministration. Außerdem können Sie für Office SharePoint Server die SSP-Datenbank, die SSP-Suchdatenbank und die SSP-Inhaltsdatenbanken spiegeln.
In den folgenden Abbildungen werden einige der unterstützten Topologien veranschaulicht.
Vermeiden Sie Topologien, in denen Prinzipal- und Spiegelserver nicht übereinstimmen. Lassen Sie außerdem die Konfigurationsdatenbank und die Inhaltsdatenbank für die Administration auf dem gleichen Server. Im folgenden Diagramm wird eine nicht unterstützte Topologie veranschaulicht.
Einrichten von SQL Server-Verbindungsaliasen
Ein SQL Server-Verbindungsalias ist ein definierter alternativer Name, der zum Herstellen einer Verbindung mit einer Instanz von SQL Server verwendet werden kann. Für SharePoint-Produkte und -Technologien können Sie einen SQL Server-Alias erstellen, der von allen Servern (einschließlich der Front-End-Webserver) zum Herstellen einer Verbindung mit der Instanz von SQL Server verwendet wird. Wenn für einen gespiegelten Datenbankserver ein Failover ausgeführt wird, passen Sie den Alias auf dem Front-End-Webserver so an, dass dieser anstatt auf den Prinzipalserver auf den Spiegelserver zeigt. Es wird empfohlen, SQL Server-Verbindungsaliase einzurichten, bevor Sie die Spiegelung implementieren.
Hinweis
Wenn Sie Aliasing für eine vorhandene Farm einrichten, verwenden Sie einen Alias, der dem Namen des Prinzipalservers entspricht, damit für die Verwendung des Alias keine Änderungen auf den Front-End-Webservern vorgenommen werden müssen.
Führen Sie die folgenden Schritte auf allen Front-End-Webservern und auf allen Servern, die Verbindungen mit SQL Server herstellen, aus.
Starten Sie die SQL Server Native Client-Netzwerkkonfiguration (%SYSTEM%\cliconfg.exe).
Klicken Sie auf die Registerkarte Alias, und klicken Sie dann auf Hinzufügen.
Das Dialogfeld Netzwerkbibliotheks-Konfiguration hinzufügen wird angezeigt.
Wählen Sie TCP/IP aus, geben Sie einen Alias ein, geben Sie den Servernamen ein, der dem Alias zugeordnet werden soll, und klicken Sie dann auf OK.
Wiederholen Sie diese Aktionen für alle Server, die Verbindungen mit SQL Server herstellen.
Einrichten der Datenbankspiegelung
In diesem Abschnitt wird beschrieben, wie Sie Transact-SQL verwenden, um Datenbankspiegelung mit hoher Verfügbarkeit für eine SQL Server-Datenbank einzurichten.
Zum Einrichten der Datenbankspiegelung mit SharePoint-Produkten und -Technologien müssen Sie mit jeder zu spiegelnden Datenbank einzeln arbeiten.
Die Schritte im folgenden Abschnitt beziehen sich auf die folgende Serverfarmtopologie:
Mindestens ein Front-End-Webserver
Drei Server mit SQL Server 2005: Prinzipalserver, Spiegelserver und Zeugenserver
Eine Konfigurationsdatenbank
Mehrere Inhaltsdatenbanken
Mindestens eine SSP-Datenbank
Konfigurieren der Datenbankspiegelung mit Zertifikaten und vollständiger Wiederherstellung
Für jeden Schritt wird der Server genannt, für den der Schritt ausgeführt werden muss. Verwenden Sie Transact-SQL, um diese Befehle an SQL Server zu senden. Platzhalterinformationen sind durch spitze Klammern (<>) gekennzeichnet und müssen durch für Ihre Bereitstellung spezifische Informationen ersetzt werden.
Einrichten des Prinzipalservers für ausgehende Verbindungen
Erstellen Sie auf dem Prinzipalserver ein Zertifikat, und öffnen Sie einen Port für die Spiegelung.
--On master database, create the database Master Key, if needed CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->'; GO -- Make a certificate for this server instance. USE master; CREATE CERTIFICATE <MASTER_HostA_cert> WITH SUBJECT = '<Master_HostA certificate>'; GO --Create mirroring endpoint for server instance using the certificate CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sichern Sie das Zertifikat auf dem Prinzipalserver.
--Back up HOST_A certificate. BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>'; GO
Sichern Sie die Datenbank auf dem Prinzipalserver. In diesem Beispiel wird die Konfigurationsdatenbank verwendet. Wiederholen Sie die Aktionen für alle Datenbanken.
USE master; --Ensure that SharePoint_Config uses the full recovery model. ALTER DATABASE SharePoint_Config SET RECOVERY FULL; GO USE SharePoint_Config BACKUP DATABASE SharePoint_Config TO DISK = '<c:\SharePoint_Config.bak>' WITH FORMAT GO BACKUP Log SharePoint_Config TO DISK = '<c:\SharePoint_Config_log.bak>' WITH FORMAT GO
Kopieren Sie die Sicherungsdatei auf den Spiegelserver. Wiederholen Sie die Aktionen für alle Datenbanken.
Kopieren Sie mithilfe einer sicheren Kopiermethode die Sicherungszertifikatdatei (beispielsweise C:\HOST_HostA_cert.cer) auf den Spiegelserver.
Erstellen Sie auf dem Prinzipalserver eine Anmeldung und einen Benutzer für den Spiegelserver, ordnen Sie das Zertifikat dem Benutzer zu, und erteilen Sie für die Partnerschaft die Verbindungsberechtigungen für die Anmeldung.
--Create a login on HOST_A for HOST_B USE master; CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Einrichten des Spiegelservers für ausgehende Verbindungen
Erstellen Sie auf dem Spiegelserver ein Zertifikat, und öffnen Sie einen Port für die Spiegelung.
--On master database, create the database Master Key, if needed. USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>'; GO -- Make a certificate on the HOST_B server instance. CREATE CERTIFICATE <HOST_HostB> WITH SUBJECT = '<HOST_HostB certificate for database mirroring>'; GO --Create a mirroring endpoint for the server instance on HOST_B. CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <HOST_HostB> , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sichern Sie das Zertifikat auf dem Spiegelserver.
--Back up HOST_B certificate. BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>'; GO
Kopieren Sie mithilfe einer sicheren Kopiermethode die Sicherungszertifikatdatei (beispielsweise C:\HOST_HostB_cert.cer) auf den Prinzipalserver.
Stellen Sie auf dem Spiegelserver die Datenbank aus den Sicherungsdateien wieder her. In diesem Beispiel wird die Konfigurationsdatenbank verwendet. Wiederholen Sie die Aktionen für alle Datenbanken.
RESTORE DATABASE SharePoint_Config FROM DISK = '<c:\SharePoint_Config.bak>' WITH NORECOVERY GO RESTORE log SharePoint_Config FROM DISK = '<c:\SharePoint_Config_log.bak>' WITH NORECOVERY GO
Einrichten des Spiegelservers für eingehende Verbindungen
Erstellen Sie auf dem Spiegelserver eine Anmeldung und einen Benutzer für den Prinzipalserver, ordnen Sie das Zertifikat dem Benutzer zu, und erteilen Sie für die Partnerschaft die Verbindungsberechtigungen für die Anmeldung.
--Create a login on HOST_B for HOST_A USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Create a user for that login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO
Einrichten des Prinzipalservers für eingehende Verbindungen
Erstellen Sie auf dem Prinzipalserver eine Anmeldung und einen Benutzer für den Spiegelserver, ordnen Sie das Zertifikat dem Benutzer zu, und erteilen Sie für die Partnerschaft die Verbindungsberechtigungen für die Anmeldung.
--Create a login on HOST_A for HOST_B USE master; CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Einrichten der Spiegelungspartner
Richten Sie auf dem Prinzipalserver die Spiegelungspartnerschaft ein. In diesem Beispiel wird die Konfigurationsdatenbank verwendet. Wiederholen Sie die Aktionen für alle Datenbanken.
--At HOST_A, set server instance on HOST_B as partner (mirror server). ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemirror.adatum.com:5024>'; GO
Richten Sie auf dem Spiegelserver die Spiegelungspartnerschaft ein. In diesem Beispiel wird die Konfigurationsdatenbank verwendet. Wiederholen Sie die Aktionen für alle Datenbanken.
--At HOST_B, set server instance on HOST_A as partner (principal server): ALTER DATABASE SharePoint_Config SET PARTNER = '<TCP://databasemaster.adatum.com:5024>'; GO
Einrichten eines Zeugenservers
Für jeden Schritt wird der Server genannt, für den der Schritt ausgeführt werden muss. Verwenden Sie Transact-SQL, um diese Befehle an SQL Server zu senden. Platzhalterinformationen sind durch spitze Klammern (<>) gekennzeichnet und müssen durch für Ihre Bereitstellung spezifische Informationen ersetzt werden.
Richten Sie auf dem Zeugenserver das Zertifikat ein, und öffnen Sie den Port.
--On master database, create the database Master Key, if needed CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->'; GO -- Make a certificate for this server instance. USE master; CREATE CERTIFICATE <WITNESS_HostC_cert> WITH SUBJECT = '<Witness_HostC certificate>'; GO --Create mirroring endpoint for server instance using the certificate CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert , ENCRYPTION = REQUIRED ALGORITHM RC4 , ROLE = ALL ); GO
Sichern Sie das Zertifikat auf dem Prinzipalserver.
--Back up HOST_C certificate BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>'; GO
Kopieren Sie mithilfe einer sicheren Kopiermethode die Sicherungszertifikatdatei (beispielsweise C:\WITNESS_HOSTC_cert.cer) auf den Prinzipalserver und den Spiegelserver.
Kopieren Sie mithilfe einer sicheren Kopiermethode die Sicherungszertifikatdatei (beispielsweise C:\WITNESS_HOSTC_cert.cer) auf den Prinzipalserver und den Spiegelserver.
--Create a login on Witness HOST_C for Principal HOST_A USE master; CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->'; GO --Create a user for that login. CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <MASTER_HostA_cert> AUTHORIZATION <MASTER_HostA_user> FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>]; GO --Create Login for Mirror Host B CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>'; GO --Create a user for that login. CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <HOST_HostB_cert> AUTHORIZATION <HOST_HostB_user> FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>]; GO
Erstellen Sie auf dem Prinzipalserver eine Anmeldung und einen Benutzer für den Zeugenserver, ordnen Sie das Zertifikat dem Benutzer zu, und erteilen Sie für die Partnerschaft die Verbindungsberechtigungen für die Anmeldung. Wiederholen Sie die Aktionen für den Spiegelserver.
--Create a login on Master HostA for Witness HostC USE master; CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->'; GO --Create a user for that login. CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>; GO --Associate the certificate with the user CREATE CERTIFICATE <WITNESS_HostC_cert> AUTHORIZATION <WITNESS_HostC_user> FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid GO --Grant CONNECT permission on the login for the remote mirroring endpoint. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>]; GO
Fügen Sie auf dem Prinzipalserver den Zeugenserver an. In diesem Beispiel wird die Konfigurationsdatenbank verwendet. Wiederholen Sie die Aktionen für alle Datenbanken.
--Setup the Witness Server ALTER DATABASE SharePoint_Config SET WITNESS = '<TCP://databasewitness.adatum.com:5024>' GO
Übertragen der Berechtigungen auf den Spiegelserver
Beim Einrichten einer gespiegelten Datenbank werden die SQL Server-Anmeldungen und -Berechtigungen für die Datenbank, die für eine SharePoint-Farm verwendet werden soll, nicht automatisch in den Master- und MSDB-Datenbanken auf dem Spiegelserver konfiguriert. Stattdessen müssen Sie die Berechtigungen für die erforderlichen Anmeldungen konfigurieren.
Es wird empfohlen, die Anmeldungen und Berechtigungen durch Ausführen eines Skripts vom Prinzipalserver auf den Spiegelserver zu übertragen. Das hierfür empfohlene Skript ist in Knowledge Base-Artikel 918992, Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x407) verfügbar.
Überwachen des Spiegelungsstatus
Auf dem Zeugenserver können Sie den aktuellen Spiegelungsstatus mit der folgenden Transact-SQL-Anweisung überwachen.
SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror
Möglicherweise möchten Sie eine Reihe von SQL Server-Aufträgen und -Warnungen erstellen, um den Prinzipalserver zu ermitteln, oder einen Windows-Dienst erstellen, durch den dieser Befehl ausgeführt wird, um den Prinzipalserver zu ermitteln.
Weitere Schritte
Wenn Sie die Spiegelung konfiguriert haben, müssen Sie die Skripts erstellen, mit denen Sie einen Failover für die Datenbanken in der Farm ausführen können. Weitere Informationen finden Sie unter Failover und Wiederherstellen von gespiegelten Datenbanken in einer einzelnen Farm.
SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror
Möglicherweise möchten Sie eine Reihe von SQL Server-Aufträgen und -Warnungen erstellen, um den Prinzipalserver zu ermitteln, oder einen Windows-Dienst erstellen, durch den dieser Befehl ausgeführt wird, um den Prinzipalserver zu ermitteln.
Siehe auch
Weitere Ressourcen
Datenbankspiegelung in SQL Server 2005 (in englischer Sprache)