Konfigurieren des Protokollversands in SharePoint Server

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Der Protokollversand dient zur Sicherung der Transaktionsprotokolle aus einer primären Datenbank in eine sekundäre Datenbank auf einer anderen SQL Server-Instanz. In dem hier beschriebenen Szenario wird der SQL Server-Protokollversand zusammen mit der DFS-Replikation (Distributed File System Replication) verwendet, um Datenbanken und Transaktionsprotokolle in die Wiederherstellungsfarm in Microsoft Azure zu kopieren, wie es weiter unten dargestellt ist.

In diesem Wiederherstellungsszenario ist die SharePoint Server-Produktionsfarm lokal, und die Wiederherstellungsfarm befindet sich in Azure. Sie können die Anleitungen in diesem Thema auch für andere Arten von Wiederherstellungsszenarien verwenden.

Elemente einer Standbylösung in Windows Azure

Elemente einer Standbylösung in Windows Azure

In der Abbildung sehen Sie Folgendes:

  • Es sind zwei Umgebungen nebeneinander dargestellt: die lokale SharePoint-Farm und die Wiederherstellungsfarm (oder Standbyfarm) in Azure.

  • Jede Umgebung umfasst eine Dateifreigabe.

  • Der Protokollversand dient zum Kopieren von Protokollen vom sekundären Datenbankserver, der sich in der lokale Umgebung befindet, in die Dateifreigabe.

  • DFS-Replikation kopiert Dateien aus der Dateifreigabe, die sich in der lokalen Umgebung befindet, in die Dateifreigabe in der Azure-Umgebung. In einem WAN-Szenario ist DFS-Replikation effizienter als der direkte Protokollversand zum sekundären Server in Azure.

  • Der Protokollversand gibt die Protokolle von der Dateifreigabe in der Azure-Umgebung an das primäre Replikat in der SQL Server Always On Verfügbarkeitsgruppe in der Wiederherstellungsumgebung wieder.

  • Die per Protokollversand verschickten Datenbanken werden erst an die SharePoint Server-Farm gebunden, wenn eine Wiederherstellung ausgeführt wird.

Im folgenden Diagramm sehen Sie die sieben Phasen, aus denen die komplette SharePoint Server-Notfallwiederherstellung in der Azure-Lösung besteht. Die Phase 6: Das Einrichten des Protokollversands an die Wiederherstellungsfarm ist in diesem Diagramm hervorgehoben und wird anschließend erklärt.

Roadmap einer Notfallwiederherstellungslösung

Verwenden des Protokollversands bei der Notfallwiederherstellung

Mit dem Protokollversand können Sie automatisch Transaktionsprotokolldateien für Datenbanken von einer primären Datenbankserverinstanz an eine sekundäre Datenbankserverinstanz senden. In unserer lokalen Testumgebung verwenden wir Always On Verfügbarkeitsgruppen mit zwei Replikaten für Hochverfügbarkeit. Microsoft hat den Protokollversand auf beiden Replikaten konfiguriert. Jedes Replikat muss Transaktionsprotokolle versenden können. Nur das aktive Replikat, das Besitzer der Datenbank ist, kann Protokolle senden. Falls jedoch ein Failoverereignis einträte und das sekundäre Replikat aktiv werden würde, müsste es die Transaktionsprotokolle an der Stelle das fehlerhaften Replikats senden.

Nachdem die Transaktionsprotokolle in der Azure-Umgebung angekommen sind, werden sie nacheinander in die einzelnen SharePoint-Datenbanken auf dem sekundären Datenbankserver gespeichert. Weitere Informationen zur Microsoft-Testumgebungen finden Sie in der Microsoft-Umgebung für eine Machbarkeitsstudie.

Hinweis

[!HINWEIS] Einige Organisationen verwenden einen dritten Datenbankserver als Überwachung, die Historie und Status der Sicherungs- und Wiederherstellungsvorgänge aufzeichnet. Diese optionale Überwachungsserver gibt Alarme aus, wenn der Sicherungsvorgang nicht erfolgreich ist.

Weitere Informationen zum Protokollversand finden Sie in den in der folgenden Tabelle aufgelisteten Artikeln.

Tabelle: Referenzartikel zum Protokollversand

URL Beschreibung
Informationen zum Protokollversand (SQL Server)
Beschreibt die Sicherung von Transaktionsprotokollen des Protokollversands und die verfügbaren Optionen.
Konfigurieren des Protokollversands (SQL Server)
Beschreibt das Konfigurieren des Protokollversands in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQL.
Anzeigen des Protokollversandberichts (SQL Server Management Studio)
Erklärt das Anzeigen eines Statusberichts über den Transaktionsprotokollversand in SQL Server Management Studio. Sie können einen Statusbericht auf dem Überwachungsserver, dem primären oder dem sekundären Server ausführen.

Überlegungen zur Leistung

Der Protokollversand unterteilt sich in drei Aufträge. Jeder Auftrag führt einen der folgenden Vorgänge aus:

  1. Sichern des Transaktionsprotokolls auf der primärer Serverinstanz.

  2. Kopieren der Transaktionsprotokolldatei in die sekundäre Serverinstanz.

  3. Wiederherstellen der Protokollsicherung auf der sekundären Serverinstanz.

Jeder Auftrag wird auf Grundlage eines Zeitplans für ein bestimmtes Intervall ausgeführt, was erhebliche Auswirkungen auf den Datenbankserver haben kann und auch auf die Leistung der SharePoint-Farm.

Für eine korrekte Konfiguration der Sicherungs-, Kopiervorgangs- und Wiederherstellungsintervalle für den Protokollversand müssen Sie die Datenmenge analysieren. Die Menge der per Protokollversand verschickten Daten hängt vom täglichen Umfang der Änderungen in der Inhaltsdatenbank ab. Der prozentuale Anteil der Änderungen kann, je nach Inhalt, Datenbestandspflege und Spitzennutzungszeiten, stark schwanken.

Um eine genaue Schätzung des Prozentsatzes der Änderungen zu erhalten, berechnen Sie die Summe der Änderungen in den Transaktionsprotokoll-Sicherungskopien für jede Inhaltsdatenbank, die Sie in einem bestimmten Zeitraum per Protokollversand verschicken. Anhand dieser Daten berechnen Sie dann den Prozentsatz der Änderungen im Verhältnis zur primären Datenbank.

Die folgende Leitlinie wurde aus der Protokollversanderfahrung der Mitarbeiter bei Microsoft bei mehreren SharePoint Server-Versionen abgeleitet.

  • Vermeiden Sie eine Leistungsverschlechterung, indem Sie nicht auf Aufträge gleichzeitig starten, sondern stellen Sie sicher, dass die Protokollversandaufträge mit mindestens einer Minute Zeitunterschied gestartet werden.

  • Es ist vorteilhafter, viele kleine Transaktionsprotokolle zu sichern und zu kopieren, als wenige große.

  • Terminieren Sie Protokollsicherungen und -kopien in engen Intervallen. Sie können Transaktionsprotokolle in weniger häufigen Intervallen wiederherstellen. Beispiel: beginnen Sie mit Sicherungs- und Kopieintervallen von fünf Minuten und Wiederherstellungsintervallen von 15 Minuten.

Voraussetzungen für die Konfiguration des Protokollversands

Stellen Sie sicher, dass die folgenden Voraussetzungen für eine Verwendung des Protokollversands für eine Notfallwiederherstellungslösung gegeben sind.

  • Die SQL Server-Anmeldungen sind Domänenkonten mit den entsprechenden Berechtigungsstufen für den Protokollversand. Die gespeicherten Protokollversandverfahren erfordern eine Mitgliedschaft bei der festen sysadmin -Serverrolle.

  • Die primäre Datenbank muss das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwenden.

    Achtung

    Wenn Sie die Datenbank auf eine einfache Wiederherstellung einstellen, funktioniert der Protokollversand nicht mehr.

  • Bevor Sie den Protokollversand konfigurieren, müssen Sie zunächst eine Dateifreigabe erstellen, damit der sekundäre Server auf die Sicherungskopien der Transaktionsprotokolle zugreifen kann. Es handelt sich dabei um eine Dateifreigabe des Verzeichnisses, in dem die Transaktionsprotokollsicherungen generiert werden.

Stellen Sie, neben den Wiederherstellungspunktzielsetzungen (RPO), auch sicher, dass die wiederhergestellten Farmdaten möglichst vollständig und beschädigt sind. Um diese Zielsetzungen zu erfüllen, müssen Sie jeden Aspekt des Protokollversands sorgfältig planen und terminieren.

Infrastruktur des Protokollversands

Die für die Notfallwiederherstellungslösung verwendete Protokollversandinfrastruktur wird im folgenden Diagramm dargestellt.

Infrastruktur und Datenfluss des Protokollversands

Die Protokollversandinfrastruktur und der direktionale Fluss zwischen den lokalen und Azure-Farmen.

Das vorherige Diagramm zeigt die Protokollversandinfrastruktur und den Datenfluss. Das Diagramm zeigt die SQL Server-Datenbankserver und die Dateiserver in der Produktionsfarm und in der Azure-Wiederherstellungsfarm. Diese Farmen sind nahezu identisch und enthalten jeweils ein primäres und sekundäres Replikat für jede Always On Verfügbarkeitsgruppe. Die Dateiserver, FIL1 und AZ-FIL1, haben die gleiche Konfiguration, einschließlich der Anzahl der Festplatten und der Datenträgergröße. Alle weiteren Server der Farm sind nicht dargestellt.

Um eine hohe Verfügbarkeit bereitzustellen, speichert jedes Replikat in einer Verfügbarkeitsgruppe eine Sicherungskopie (vollständige, differenzielle und Transaktionsprotokolle) des jeweils anderen Replikats.

Das primäre und das sekundäre Replikat (SQL-HA1 bzw. SQL-HA2) stellen Sicherungsdateien her, die auf dem jeweiligen Partnerreplikat in der Verfügbarkeitsgruppe gespeichert werden.

Der versand von Transaktionsprotokollen wird auf dem sekundären Replikat konfiguriert, um die Auswirkungen auf die Produktionsdatenbank zu minimieren. Die Transaktionsprotokolle werden in einen freigegebenen Ordner auf dem lokalen Dateiserver (FIL1) geschrieben. Der Windows Server DFS-Replikationsdienst (Distributed File System) kopiert die Transaktionsprotokolle von FIL1 nach AZ-FIL1. Die Transaktionsprotokolle auf AZ-FIL1 werden auf AZ-SQL-HA1, dem primären Replikat für die Verfügbarkeitsgruppe in der Wiederherstellungsfarm, wiederhergestellt.

Schritte zum Konfigurieren und Überprüfen des Protokollversands

Die erforderlichen Schritte zum Konfigurieren, Ausführen und Bestätigen des Protokollversands sind in der folgenden Liste zusammengefasst:

  1. Sichern der Datenbank.

  2. Konfigurieren der vollständigen und differentiellen Sicherungen in einem lokalen Ordner und in einem freigegebenen Ordner auf dem Dateiserver.

  3. Überprüfen, ob Sicherungsdateien in lokalen und im freigegebenen Ordner erstellt wurden.

  4. Einrichten und Testen der DFS-Replikation (Distributed File System).

  5. Erstellen von Namespace und Replikation für eine Übertragung der Transaktionsprotokolle und Sicherungsdateien zwischen den lokalen Farmen und den Azure-Farmen im freigegebenen Ordner auf dem Dateiserver.

  6. Überprüfen aller Übertragungen nachdem der Protokollversand gestartet wurde.

  7. Einrichten und Testen des Protokollversands.

  8. Einrichten des Protokollversands auf dem primären Datenbankserver mithilfe des folgenden Skripts: Primary-Logshippingsetupparameter. Dieses Skript erstellt Sicherungsaufträge, terminiert diese für den Protokollversand und initialisiert dann diese Aufträge.

SET NOCOUNT ON
USE MSDB
GO
--@PrimServer : Primary Server name
--@SecServer  : DR/Secondary Server Name
--@SecInstance : DR/Secondary FQDN
--@Domain  : Domain Name
--@BkpDrive : Production Backup server Name
--@DBName : DatabaseName
DECLARE @LS_BackupJobIdAS uniqueidentifier,  @LS_PrimaryIdAS uniqueidentifier , @SP_Add_RetCode As int 
DECLARE @Time as nvarchar(10),@SecInstance as nvarchar(250), @PrimServer as nvarchar(50),@SecServer as nvarchar(50),
@Domain as nvarchar(50),@DBName as nvarchar(max),@BkpDrive as nvarchar(250),@CMD as nvarchar(max),@Counter int
----------------------------------------------------------------------------
IF OBJECT_ID ('tempdb.DBO.#LogShipping','U') IS NOT NULL DROP TABLE #LogShipping
Create table #LogShipping ( LSDBs nvarchar(max))
Set @PrimServer ='SQL1'
Set @SecServer ='SQL2'
Set @SecInstance ='SQL2.corp.adventureworks.com'
Set @Domain ='corp.adventureworks.com'
Set @BkpDrive ='FS1.corp.adventureworks.com'
Set @DBName = 'Social_DB'
Set @Time = '0130'
SET @DBName = UPPER(REPLACE(@DBName, ' ', ''))
SET @DBName = '''' + REPLACE(@DBName, ',', ''', ''') + ''''
Set @CMD =   ' Select ' +
'''DECLARE  @SP_Add_RetCode As int, @LS_BackupJobIdAS uniqueidentifier,  @LS_PrimaryIdAS uniqueidentifier
EXEC @SP_Add_RetCode = master.dbo.sp_add_log_shipping_primary_database ' + CHAR(10) +
'@database = ''''''  + db.Name + ''''''' + CHAR(10) +
',@backup_directory = ''''\\' + @BkpDrive + '\LS\' + ''' + db.Name + ''''' + '''' + CHAR(10) +
',@backup_share = ' + '''''\\' + @BkpDrive + '\LS\' + ''' + db.Name + ''''' + ''''  + CHAR(10) +
',@backup_job_name = ''''' + 'LSBackup_' + ''' + db.Name + ''''' + '''' + CHAR(10) +
',@backup_retention_period = 4320
,@backup_compression = 1
,@backup_threshold = 180 
,@threshold_alert_enabled = 1
,@history_retention_period = 5760 
,@backup_job_id = @LS_BackupJobId OUTPUT 
,@primary_id = @LS_PrimaryId OUTPUT 
,@overwrite = 1 ' +
'IF (@@ERROR = 0 AND @SP_Add_RetCode = 0) 
BEGIN 
DECLARE @LS_BackUpScheduleUIDAs uniqueidentifier ,@LS_BackUpScheduleIDAS int 
EXEC msdb.dbo.sp_add_schedule 
@schedule_name = ''''' + 'LSBackupSchedule_'+ @PrimServer + '_' + ''' + db.Name + ''''' + ''''  + CHAR(10) +
',@enabled = 1 
,@freq_type = 4 
,@freq_interval = 1 
,@freq_subday_type = 4 
,@freq_subday_interval = 13 
,@freq_recurrence_factor = 0 
,@active_start_date = 20090506 
,@active_end_date = 99991231 
,@active_start_time = ' + @Time  + CHAR(10) +
',@active_end_time = 235900 
,@schedule_uid = @LS_BackUpScheduleUID OUTPUT 
,@schedule_id = @LS_BackUpScheduleID OUTPUT 
EXEC msdb.dbo.sp_attach_schedule @job_id = @LS_BackupJobId ,@schedule_id = @LS_BackUpScheduleID  
EXEC msdb.dbo.sp_update_job @job_id = @LS_BackupJobId ,@enabled = 1 
END 
EXEC master.dbo.sp_add_log_shipping_alert_job 
EXEC master.dbo.sp_add_log_shipping_primary_secondary 
@primary_database = '''  + ''''' + db.Name + ''''' + ''''  + CHAR(10) + 
',@secondary_server = ''''' + @SecInstance + ''''''  + CHAR(10) +
',@secondary_database = ''' + ''''' + db.Name + ''''' + ''''  + CHAR(10) +
',@overwrite = 1 ''' +
' [LSDBs] FROM sys.databases db  where name in (' + @DBName + ')' +
'and    db.name  not in (''master'',''model'',''msdb'',''tempdb'',''metricsops'',''periscope'' )
and   Not (exists (select lss.Secondary_database from msdb.dbo.log_shipping_Secondary_databases lss where  db.Name = lss.Secondary_database)
or exists (select lsp.primary_database from msdb.dbo.log_shipping_primary_databases lsp where  db.Name = lsp.primary_database)
   )'
Insert #LogShipping (LSDBs)
Exec ( @CMD)
Set @Counter = @@rowcount
While (@counter > 0)
  Begin
  select top 1  @CMD = LSDBs from #LogShipping
  exec sp_executesql @CMD
  set @counter = @counter - 1
  delete top (1) from #LogShipping
  End
IF OBJECT_ID ('tempdb.DBO.#LogShipping','U') IS NOT NULL DROP TABLE #LogShipping
-- ****** End: Script to be run at Primary: [DB1-PSMSQL-01] ******
  1. Einrichten des Protokollversands auf dem sekundären Datenbankserver mithilfe des folgenden Skripts: Secondary-Logshippingsetupparameter scripts. In der Microsoft-Testumgebung befindet sich der sekundäre Datenbankserver in der Wiederherstellungsfarm in Azure.
-- ****** Begin: Script to be run at Secondary:  9.3 BUILD******
SET NOCOUNT ON
USE MSDB
GO
--@PrimServer : Primary Server name
--@SecServer  : DR/Secondary Server Name
--@SecInstance : DR/Secondary FQDN
--@Domain  : Domain Name
--@PrimaryBkpDrive : Production Backup server Name
--@BkpDrive : Secondary Backup server Name
--@DBName : DatabaseName
DECLARE @LS_BackupJobIdAS uniqueidentifier,  @LS_PrimaryIdAS uniqueidentifier , @SP_Add_RetCode As int 
DECLARE @Time as nvarchar(10),@SecInstance as nvarchar(250), @PrimServer as nvarchar(50),@SecServer as nvarchar(50),
@Domain as nvarchar(50),@DBName as nvarchar(max),@PrimaryBkpDrive as nvarchar(250),@BkpDrive as nvarchar(250),@CMD as nvarchar(max),@CMD2 as nvarchar(max),@Counter int
DECLARE  @Delimeter char(1),@DB nvarchar(200), @StartPos int, @Length int
IF OBJECT_ID ('tempdb.DBO.#LogShipping','U') IS NOT NULL DROP TABLE #LogShipping
Create table #LogShipping ( LSDBs nvarchar(max))
IF OBJECT_ID ('tempdb.DBO.#DBs','U') IS NOT NULL DROP TABLE #DBs
Create TABLE #DBs (Name nvarchar(200))
Set @PrimServer ='az-sql-ha1'
Set @SecServer =' az-sql-ha2'
Set @SecInstance ='SQL1.corp.adventureworks.com'
Set @Domain =' corp.adventureworks.com '
SET @PrimaryBkpDrive = 'fs1.corp.adventureworks.com'
Set @BkpDrive =' az-sp-fs.corp.adventureworks.com '
Set @DBName = 'Social_DB'
Set @Time = '0130'
--Parsing Function
SET @Delimeter = ','
WHILE LEN(@DBName) > 0
  BEGIN
    SET @StartPos = CHARINDEX(@Delimeter, @DBName)
    IF @StartPos < 0 SET @StartPos = 0
    SET @Length = LEN(@DBName) - @StartPos - 1
    IF @Length < 0 SET @Length = 0
    IF @StartPos > 0
      BEGIN
        SET @DB = Rtrim(Ltrim(SUBSTRING(@DBName, 1, @StartPos - 1)))
        SET @DBName = SUBSTRING(@DBName, @StartPos + 1, LEN(@DBName) - @StartPos)
      END
    ELSE
      BEGIN
        SET @DB = Rtrim(Ltrim(@DBName))
        SET @DBName = ''
      END
    INSERT #DBs (Name) VALUES(@DB)
END
--SET @DBName = UPPER(REPLACE(@DBName, ' ', ''))
--SET @DBName = '''' + REPLACE(@DBName, ',', ''', ''') + ''''
Set @CMD = 'Select ' +
''' DECLARE @LS_Secondary__CopyJobId AS uniqueidentifier, @LS_Secondary__RestoreJobId AS uniqueidentifier ,@LS_Secondary__SecondaryId AS uniqueidentifier , @LS_Add_RetCode As int ,@LS_Add_RetCode2 As int 
  DECLARE @LS_SecondaryCopyJobScheduleUIDAs uniqueidentifier ,@LS_SecondaryCopyJobScheduleIDAS int, @LS_SecondaryRestoreJobScheduleUIDAs uniqueidentifier ,@LS_SecondaryRestoreJobScheduleIDAS int 
  EXEC @LS_Add_RetCode = master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = ''''' + @PrimServer + ''''''+  CHAR(10) +
',@primary_database = '' + ' +  ''''''''' + db.Name + ''''''''' +  CHAR(10) +
' + '',@backup_source_directory = ' + '''''\\' + @PrimaryBkpDrive + '\LS\'' + db.Name + ''''''' +  CHAR(10) +
' ,@backup_destination_directory =  ' + '''''\\' + @BkpDrive + '\LS\'' + db.Name + ''''''' +  CHAR(10) +
',@copy_job_name = ''''LSCopy_DB1-PSMSQL-01_'' + db.Name + ''''''' +  CHAR(10) +
',@restore_job_name = ''''LSRestore_'+ @PrimServer + '_'' + db.Name + ''''''' +  CHAR(10) +
',@file_retention_period = 4320 
,@overwrite = 1 
,@copy_job_id = @LS_Secondary__CopyJobId OUTPUT 
,@restore_job_id = @LS_Secondary__RestoreJobId OUTPUT 
,@secondary_id = @LS_Secondary__SecondaryId OUTPUT 
IF (@@ERROR = 0 AND @LS_Add_RetCode = 0) 
BEGIN 
EXEC msdb.dbo.sp_add_schedule 
@schedule_name =''''DefaultCopyJobSchedule'''' 
,@enabled = 1 
,@freq_type = 4 
,@freq_interval = 1 
,@freq_subday_type = 4 
,@freq_subday_interval = 15 
,@freq_recurrence_factor = 0 
,@active_start_date = 20090506 
,@active_end_date = 99991231 
,@active_start_time = ' + @Time + ' 
,@active_end_time = 235900 
,@schedule_uid = @LS_SecondaryCopyJobScheduleUID OUTPUT 
,@schedule_id = @LS_SecondaryCopyJobScheduleID OUTPUT 
EXEC msdb.dbo.sp_attach_schedule 
@job_id = @LS_Secondary__CopyJobId 
,@schedule_id = @LS_SecondaryCopyJobScheduleID  
EXEC msdb.dbo.sp_add_schedule 
@schedule_name =''''DefaultRestoreJobSchedule'''' 
,@enabled = 1 
,@freq_type = 4 
,@freq_interval = 1 
,@freq_subday_type = 4 
,@freq_subday_interval = 15 
,@freq_recurrence_factor = 0 
,@active_start_date = 20090506 
,@active_end_date = 99991231 
,@active_start_time = ' + @Time + '
,@active_end_time = 235900 
,@schedule_uid = @LS_SecondaryRestoreJobScheduleUID OUTPUT 
,@schedule_id = @LS_SecondaryRestoreJobScheduleID OUTPUT 
EXEC msdb.dbo.sp_attach_schedule 
@job_id = @LS_Secondary__RestoreJobId 
,@schedule_id = @LS_SecondaryRestoreJobScheduleID  
END 
IF (@@ERROR = 0 AND @LS_Add_RetCode = 0) 
BEGIN 
EXEC @LS_Add_RetCode2 = master.dbo.sp_add_log_shipping_secondary_database 
@secondary_database = ' +  ''''''' + db.Name + ''''''' +  CHAR(10) + '
,@primary_server = ''''' + @PrimServer + '''''
,@primary_database = '+  ''''''' + db.Name + ''''''' +  CHAR(10) +
',@restore_delay = 0 
,@restore_mode = 1 
,@disconnect_users= 1 
,@restore_threshold = 180   
,@threshold_alert_enabled = 1 
,@history_retention_period= 5760 
,@overwrite = 1 
END 
IF (@@error = 0 AND @LS_Add_RetCode = 0) 
BEGIN 
EXEC msdb.dbo.sp_update_job @job_id = @LS_Secondary__CopyJobId ,@enabled = 0 
EXEC msdb.dbo.sp_update_job @job_id = @LS_Secondary__RestoreJobId ,@enabled = 1 
END '''  + '[LSDBs] FROM #DBs db'
--Print @CMD
Insert #LogShipping (LSDBs)
Exec ( @CMD)
Set @Counter = @@rowcount
While (@counter > 0)
  Begin
  select top 1  @CMD = LSDBs from #LogShipping
  exec sp_executesql @CMD
  set @counter = @counter - 1
  delete top (1) from #LogShipping
  End
IF OBJECT_ID ('tempdb.DBO.#LogShipping','U') IS NOT NULL DROP TABLE #LogShipping
IF OBJECT_ID ('tempdb.DBO.#DBs','U') IS NOT NULL DROP TABLE #DBs
-- ****** End: Script to be run at Secondary:  9.3 Build ******
  1. Überprüfen, dass die Transaktionsprotokolle in die Dateifreigabe gesendet werden, und dass DFS diese Protokolle in der Dateifreigabe auf dem Azure-Dateiserver repliziert. Öffnen Sie den Auftragsaktivitätsmonitor in SQL Server, um zu überprüfen, ob die Transaktionsprotokolle erfolgreich versendet wurden. Öffnen Sie die freigegebenen Ordner auf den Dateiservern in der Produktionsfarm und in der Azure-Farm, um sicherzustellen, dass DFS die Transaktionsprotokolle überträgt.

Siehe auch

Konzepte

Konfigurieren SQL Server Always On Verfügbarkeitsgruppen für SharePoint Server

Weitere Ressourcen

Informationen zum Protokollversand

Lernprogramme zum Thema Replikation