SQL Server-URL-Sicherung – bewährte Methoden und ProblembehandlungSQL Server Backup to URL Best Practices and Troubleshooting

DIESES THEMA GILT FÜR:jaSQL Server (ab 2016)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In diesem Thema werden bewährte Methoden und Tipps zur Problembehandlung beschrieben, die sich auf SQL Server-Sicherungs- und Wiederherstellungsvorgänge im Windows Azure-BLOB-Dienst beziehen.This topic includes best practices and troubleshooting tips for SQL Server backup and restores to the Windows Azure Blob service.

Weitere Informationen zur Verwendung des Windows Azure-BLOB-Speicherdiensts für SQL Server-Sicherungs- oder -Wiederherstellungsvorgänge finden Sie unter:For more information about using Windows Azure Blob storage service for SQL Server backup or restore operations, see:

Verwalten von SicherungenManaging Backups

Die folgende Liste enthält allgemeine Empfehlungen zur Verwaltung von Sicherungen:The following list includes general recommendations to manage backups:

  • Für jede Sicherung sollte ein eindeutiger Dateiname verwendet werden, um zu verhindern, dass BLOBs versehentlich überschrieben werden.Unique file name for every backup is recommended to prevent accidentally overwriting the blobs.

  • Beim Erstellen eines Containers wird empfohlen, die Zugriffsebene auf Privatfestzulegen, sodass der Lese- oder Schreibzugriff auf Blobs im Container nur Benutzern oder Konten mit den erforderlichen Authentifizierungsinformationen gestattet ist.When creating a container, it is recommended that you set the access level to private, so only users or accounts that can provide the required authentication information can read or write the blobs in the container.

  • Um Übertragungskosten zwischen Regionen zu vermeiden, verwenden Sie für SQL Server-Datenbanken auf einer SQL Server-Instanz, die auf einem virtuellen Windows Azure-Computer ausgeführt wird, ein Speicherkonto, das derselben Region angehört wie das Speicherkonto des virtuellen Computers.For SQL Server databases on an instance of SQL Server running in a Windows Azure Virtual Machine, use a storage account in the same region as the virtual machine to avoid data transfer costs between regions. Wenn Sie innerhalb einer Region bleiben, erzielen Sie darüber hinaus optimale Leistung bei Sicherungs- und Wiederherstellungsvorgängen.Using the same region also ensures optimal performance for backup and restore operations.

  • Eine fehlerhafte Sicherungsaktivität kann dazu führen, dass eine Sicherungsdatei unbrauchbar wird.Failed backup activity can result in an invalid backup file. Es wird empfohlen, regelmäßig nach fehlerhaften Sicherungen zu suchen und die BLOB-Dateien zu löschen.We recommend periodic identification of failed backups and deleting the blob files. Weitere Informationen hierzu finden Sie unter Löschen von Sicherungsblobdateien aktiver Lease.For more information, see Deleting Backup Blob Files with Active Leases

  • Wenn Sie die Sicherung mit der Option WITH COMPRESSION durchführen, können Sie die Speicherkosten und Speichertransaktionskosten minimieren.Using the WITH COMPRESSION option during backup can minimize your storage costs and storage transaction costs. Darüber hinaus verkürzt die Option die Dauer des Sicherungsvorgangs.It can also decrease the time taken to complete the backup process.

Behandlung großer DateienHandling Large Files

  • SQL ServerSQL Server -Sicherungsvorgänge verwenden mehrere Threads, um die Datenübertragung an die Windows Azure-BLOB-Speicherdienste zu optimieren.The SQL ServerSQL Server backup operation uses multiple threads to optimize data transfer to Windows Azure Blob storage services. Die Leistung hängt jedoch von verschiedenen Faktoren ab wie der Bandbreite des unabhängigen Softwareherstellers (ISV) und der Größe der Datenbank.However the performance depends on various factors, such as ISV bandwidth and size of the database. Wenn Sie beabsichtigen, große Datenbanken oder Dateigruppen von einer lokalen SQL Server-Datenbank zu sichern, sollten Sie zunächst den Durchsatz testen.If you plan to back up large databases or filegroups from an on-premise SQL Server database, it is recommended that you do some throughput testing first. Die SLA zum Speicher von Azure bietet maximale Verarbeitungszeiten für Blobs, die Sie als Ausgangspunkt verwenden können.Azure SLA for Storage has maximum processing times for blobs that you can take into consideration.

  • Die Verwendung der im Abschnitt Verwalten von Sicherungen empfohlenen Option WITH COMPRESSION ist besonders beim Sichern umfangreicher Dateien von Bedeutung.Using the WITH COMPRESSION option as recommended in the Managing Backup section, it is very important when backing up large files.

Problembehandlung bei Sicherungs- oder Wiederherstellungsvorgängen über URLsTroubleshooting Backup To or Restore from URL

Im Folgenden finden Sie einige schnelle Lösungen zur Behandlung von Sicherungs- und Wiederherstellungsfehlern im Windows Azure-BLOB-Speicherdienst.Following are some quick ways to troubleshoot errors when backing up to or restoring from the Windows Azure Blob storage service.

Zur Vermeidung von Fehlern, die durch nicht unterstützte Optionen oder Einschränkungen verursacht werden, informieren Sie sich anhand der Liste im Artikel SQL Server-Sicherung und -Wiederherstellung mit dem Microsoft Azure Blob Storage-Dienst über die Möglichkeiten und Grenzen von BACKUP- und RESTORE-Befehlen.To avoid errors due to unsupported options or limitations, review the list of limitations, and support for BACKUP and RESTORE commands information in the SQL Server Backup and Restore with Microsoft Azure Blob Storage Service article.

Authentifizierungsfehler:Authentication Errors:

  • WITH CREDENTIAL ist eine neue Option, die für Sicherungs- oder Wiederherstellungsvorgänge im Windows Azure-BLOB-Speicherdienst erforderlich ist.WITH CREDENTIAL is a new option and required to back up to or restore from the Windows Azure Blob storage service. In Zusammenhang mit Anmeldeinformationen können folgende Fehler auftreten:Failures related to credential could be the following:

    Die im BACKUP -Befehl oder RESTORE -Befehl angegebenen Anmeldeinformationen sind nicht vorhanden.The credential specified in the BACKUP or RESTORE command does not exist. Um dieses Problem zu vermeiden, können Sie T-SQL-Anweisungen zum Erstellen von Anmeldeinformationen einschließen, falls in der BACKUP-Anweisung keine Anmeldeinformationen enthalten sind.To avoid this issue, you can include T-SQL statements to create the credential if one does not exist in the backup statement. Beachten Sie das folgende Anwendungsbeispiel:The following is an example you can use:

    IF NOT EXISTS  
    (SELECT * FROM sys.credentials   
    WHERE credential_identity = 'mycredential')  
    CREATE CREDENTIAL <credential name> WITH IDENTITY = 'mystorageaccount'  
    ,SECRET = '<storage access key> ;  
    
  • Die Anmeldeinformationen sind zwar vorhanden, aber das Anmeldekonto zum Ausführen des Sicherungsbefehls verfügt über keine Berechtigung für den Zugriff auf die Anmeldeinformationen.The credential exists but the login account that is used to run the backup command does not have permissions to access the credentials. Verwenden Sie ein Anmeldekonto aus der db_backupoperator -Rolle mit Berechtigungen für Beliebige Anmeldeinformationen ändern .Use a login account in the db_backupoperator role with Alter any credential permissions.

  • Überprüfen Sie den Namen des Speicherkontos und die Schlüsselwerte.Verify the storage account name and key values. Die in den Anmeldeinformationen gespeicherten Informationen müssen den Eigenschaftswerten des Windows Azure-Speicherkontos entsprechen, das Sie für Sicherungs- und Wiederherstellungsvorgänge verwenden.The information stored in the credential must match the property values of the Windows Azure storage account you are using in the backup and restore operations.

    Sicherungsfehler:Backup Errors/Failures:

  • Parallele Sicherungen im selben Blob führen dazu, dass bei einer der Sicherungen die Meldung Fehler beim Initialisieren ausgegeben wird.Parallel backups to the same blob cause one of the backups to fail with an Initialization failed error.

  • Verwenden Sie die folgenden Fehlerprotokolle, die Ihnen die Problembehandlung bei Sicherungsfehlern erleichtern:Use the following error logs to help with troubleshooting backup errors:

    • Legen Sie das Ablaufverfolgungsflag 3051 wie folgt fest, um die Protokollierung in einem bestimmten Fehlerprotokoll zu aktivieren:Set trace flag 3051 to turn on logging to a specific error log with the following format in:

      BackupToUrl-<instname>-<dbname>-action-<PID>.log. Dabei entspricht <action> einem der folgenden Schlüsselwörter:BackupToUrl-<instname>-<dbname>-action-<PID>.log Where <action> is one of:

      • DBDB

      • FILELISTONLYFILELISTONLY

      • LABELONLYLABELONLY

      • HEADERONLYHEADERONLY

      • VERIFYONLYVERIFYONLY

    • Sie finden die Informationen auch, indem Sie im Windows-Ereignisprotokoll in den Anwendungsprotokollen nach dem Namen "SQLBackupToUrl" suchen.You can also find information by reviewing the Windows Event Log - Under Application logs with the name ‘SQLBackupToUrl’.

  • Bei der Wiederherstellung von einer komprimierten Sicherung kann eine Fehlermeldung mit etwa folgendem Wortlaut angezeigt werden:When restoring from a compressed backup, you might see the following error:

    • SqlException 3284 occurred. Severity: 16 State: 5
      Message Filemark on device 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak' is not aligned. (Dateimarkierung für Gerät „https ://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak“ ist nicht ausgerichtet.) Geben Sie die RESTORE-Anweisung mit derselben Blockgröße, die zum Erstellen des Sicherungssatzes verwendet wurde, erneut aus: '65536' sieht wie ein möglicher Wert aus.Message Filemark on device 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak' is not aligned. Reissue the Restore statement with the same block size used to create the backupset: '65536' looks like a possible value.

      Um diesen Fehler zu beheben, führen Sie die BACKUP -Anweisung erneut aus, und geben Sie dabei BLOCKSIZE = 65536 an.To solve this error, reissue the BACKUP statement with BLOCKSIZE = 65536 specified.

  • Sicherungsfehler aufgrund von BLOBs, die über eine aktive Leasedauer verfügen: Fehlerhafte Sicherungsaktivitäten können dazu führen, dass BLOBs eine aktive Leasedauer aufweisen.Error during backup due to blobs that have active lease on them: Failed backup activity can result in blobs with active leases.

    Wenn die BACKUP-Anweisung erneut ausgeführt wird, kann ein Sicherungsvorgang einen Fehler mit etwa folgendem Wortlaut verursachen:If a backup statement is reattempted, backup operation might fail with an error similar to the following:

    Bei einer URL-Sicherung wurde eine Ausnahme vom Remoteendpunkt empfangen. Ausnahmemeldung: Der Remoteserver hat einen Fehler zurückgegeben: (412) Derzeit weist das Blob eine Lease auf, obwohl in der Anforderung keine Lease-ID angegeben wurde.Backup to URL received an exception from the remote endpoint. Exception Message: The remote server returned an error: (412) There is currently a lease on the blob and no lease ID was specified in the request.

    Wenn versucht wird, eine RESTORE-Anweisung für eine BLOB-Sicherungsdatei mit aktiver Leasedauer auszuführen, wird eine Fehlermeldung mit etwa folgendem Wortlaut angezeigt:If a restore statement is attempted on a backup blob file that has an active lease, the restore operation fails with an error similar to the following:

    Ausnahmemeldung: Der Remoteserver hat einen Fehler zurückgegeben: (409) Konflikt...Exception Message: The remote server returned an error: (409) Conflict..

    Wenn dieser Fehler auftritt, müssen die BLOB-Dateien gelöscht werden.When such error occurs, the blob files need to be deleted. Weitere Informationen zu diesem Szenario und Lösungsvorschläge finden Sie unter Löschen von Sicherungsblobdateien mit aktiver Lease.For more information on this scenario and how to correct this problem, see Deleting Backup Blob Files with Active Leases

ProxyfehlerProxy Errors

Wenn Sie über Proxyserver auf das Internet zugreifen, können folgende Probleme auftreten:If you are using Proxy Servers to access the internet, you may see the following issues:

Durch Proxyserver gedrosselte Verbindungen:Connection throttling by Proxy Servers:

Proxyserver können über Einstellungen verfügen, die die Anzahl der Verbindungen pro Minute begrenzen.Proxy Servers can have settings that limit the number of connections per minute. Der URL-Sicherungsprozess ist ein Multithreadprozess und kann diese Begrenzung folglich überschreiten.The Backup to URL process is a multi-threaded process and hence can go over this limit. In diesem Fall wird die Verbindung vom Proxyserver abgebrochen.If this happens, the proxy server kills the connection. Um das Problem zu beheben, ändern Sie die Proxyeinstellungen, damit der Proxy von SQL Server nicht verwendet wird.To resolve this issue, change the proxy settings so SQL Server is not using the proxy. Im Folgenden einige Beispiele für Fehlertypen oder -meldungen, die im Fehlerprotokoll angezeigt werden können:Following are some examples of the types or error messages you may see in the error log:

  • Fehler beim Schreiben auf "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak": Bei einer URL-Sicherung wurde eine Ausnahme vom Remoteendpunkt empfangen.Write on "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak" failed: Backup to URL received an exception from the remote endpoint. Ausnahmemeldung: Von der Übertragungsverbindung können keine Daten gelesen werden: Die Verbindung wurde geschlossen.Exception Message: Unable to read data from the transport connection: The connection was closed.

  • Nicht behebbarer E/A-Fehler für die Datei http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak: Error could not be gathered from Remote Endpoint. (Fehler konnte am Endpunkt nicht erfasst werden.)A nonrecoverable I/O error occurred on file "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Error could not be gathered from Remote Endpoint.

    Meldung 3013, Ebene 16, Status 1, Zeile 2Msg 3013, Level 16, State 1, Line 2

    BACKUP DATABASE wird fehlerbedingt beendet.BACKUP DATABASE is terminating abnormally.

  • BackupIoRequest::ReportIoError: Schreibfehler auf Sicherungsmedium http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak'.BackupIoRequest::ReportIoError: write failure on backup device http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak'. Betriebssystemfehler: Bei einer URL-Sicherung wurde eine Ausnahme vom Remoteendpunkt empfangen.Operating system error Backup to URL received an exception from the remote endpoint. Ausnahmemeldung: Von der Übertragungsverbindung können keine Daten gelesen werden: Die Verbindung wurde geschlossen.Exception Message: Unable to read data from the transport connection: The connection was closed.

    Wenn Sie die ausführliche Protokollierung mit Ablaufverfolgungsflag 3051 aktivieren, können auch folgende Meldungen in den Protokollen angezeigt werden:If you turn on the verbose logging using the trace flag 3051 you may also see the following message in the logs:

    HTTP-Statuscode 502, HTTP-Statusmeldung: Proxyfehler (Die Anzahl der HTTP-Anforderungen pro Minute hat das konfigurierte Limit überschritten.HTTP status code 502, HTTP Status Message Proxy Error ( The number of HTTP requests per minute exceeded the configured limit. Wenden Sie sich an Ihren ISA Server-Administrator.Contact your ISA Server administrator. ))

    Standardproxyeinstellungen wurden nicht abgerufen:Default Proxy Settings not picked up:

    In einigen Fällen werden die Standardeinstellungen nicht abgerufen, wodurch Proxyauthentifizierungsfehler wie der folgende verursacht werden: Nicht behebbarer E/A-Fehler für die Datei http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak: BACKUP TO URL hat eine Ausnahme vom Remoteendpunkt empfangen. Ausnahmemeldung: Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich.Sometimes the default settings are not picked up causing proxy authentication errors such as the one shown below:A nonrecoverable I/O error occurred on file "http://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Backup to URL received an exception from the remote endpoint. Exception Message: The remote server returned an error: (407) Proxy Authentication Required.

    Um dieses Problem zu beheben, erstellen Sie mithilfe folgender Schritte eine Konfigurationsdatei, durch die beim URL-Sicherungsprozess die Standardproxyeinstellungen verwendet werden können:To resolve this issue, create a configuration file that allows the Backup to URL process to use the default proxy settings using the following steps:

  1. Erstellen Sie eine Konfigurationsdatei mit dem Namen BackuptoURL.exe.config und folgender XML:Create a configuration file named BackuptoURL.exe.config with the following xml:

    \<?xml version ="1.0"?>  
    <configuration>   
                    \<system.net>   
                                    <defaultProxy enabled="true" useDefaultCredentials="true">   
                                                    <proxy usesystemdefault="true" />   
                                    </defaultProxy>   
                    \</system.net>  
    </configuration>  
    
  2. Speichern Sie die Konfigurationsdatei im Ordner Binn der SQL Server-Instanz.Place the configuration file in the Binn folder of the SQL Server Instance. Beispiel: Wenn SQL Server auf dem Computer auf Laufwerk „C“ installiert ist, legen Sie die Konfigurationsdatei im folgenden Ordner ab: C:\Programme\Microsoft SQL Server\MSSQL13.<Instanzname>\MSSQL\Binn.For example, if my SQL Server is installed on the C drive of the machine, place the configuration file here: C:\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\Binn.

Siehe auchSee Also

Wiederherstellen von in Microsoft Azure gespeicherten SicherungenRestoring From Backups Stored in Microsoft Azure
BACKUP (Transact-SQL)BACKUP (Transact-SQL)
RESTORE (Transact-SQL)RESTORE (Transact-SQL)