Sauvegarde SQL Server vers une URLSQL Server Backup to URL

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2016)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Cette rubrique présente les concepts, les conditions et les composants nécessaires pour utiliser le service de stockage d’objets blob Microsoft Azure comme destination de sauvegarde.This topic introduces the concepts, requirements and components necessary to use the Microsoft Azure Blob storage service as a backup destination. Les fonctionnalités de sauvegarde et de restauration sont identiques ou similaires à l'utilisation de l'option DISK ou TAPE, à quelques différences près.The backup and restore functionality are same or similar to when using DISK or TAPE, with a few differences. Ces différences et quelques exemples de code sont inclus dans cette rubrique.These differences and a few code examples are included in this topic.

Configuration requise, composants et conceptsRequirements, Components, and Concepts

Dans cette section :In this section:

SécuritéSecurity

Vous trouverez ci-dessous les considérations de sécurité et conditions requises pour la sauvegarde et la restauration à l’aide du service de stockage d’objets blob Microsoft Azure.The following are security considerations and requirements when backing up to or restoring from the Microsoft Azure Blob storage service.

  • Lorsque vous créez un conteneur pour le service de stockage d’objets blob Microsoft Azure, nous vous recommandons de définir l’accès sur Privé.When creating a container for the Microsoft Azure Blob storage service, we recommend that you set the access to private. La définition d'un accès privé limite l'accès aux seuls utilisateurs ou comptes capables de fournir les informations nécessaires pour s'authentifier auprès du compte Windows Azure.Setting the access to private restricts the access to users or accounts able to provide the necessary information to authenticate to the Windows Azure account.

    Important

    SQL ServerSQL Server requiert que, soit un nom de compte Microsoft Azure et une authentification par clé d’accès, soit une signature d’accès partagé (SAP) et un jeton d’accès soient stockés dans les informations d’identification de SQL ServerSQL Server . requires that either a Windows Azure account name and access key authentication or a Shared Access Signature and access token be stored in a SQL ServerSQL Server Credential. Ces informations sont utilisées pour l’authentification auprès du compte Microsoft Azure lors de l’exécution d’opérations de sauvegarde ou de restauration.This information is used to authenticate to the Windows Azure account when performing backup or restore operations.

  • Le compte d’utilisateur utilisé pour émettre les commandes BACKUP (sauvegarder) ou RESTORE (restaurer) doit figurer dans le rôle de base de données db_backup operator avec les autorisations Modifier des informations d’identification .The user account that is used to issue BACKUP or RESTORE commands should be in the db_backup operator database role with Alter any credential permissions.

Présentation des principaux éléments et conceptsIntroduction to Key Components and Concepts

Les deux sections suivantes présentent le service de stockage d’objets blob Microsoft Azure, ainsi que les composants SQL ServerSQL Server utilisés pour la sauvegarde et la restauration à l’aide de ce service.The following two sections introduce the Microsoft Azure Blob storage service, and the SQL ServerSQL Server components used when backing up to or restoring from the Microsoft Azure Blob storage service. Il est important de comprendre les composants et leur interaction pour effectuer une sauvegarde ou une restauration à l’aide du service de stockage d’objets blob Microsoft Azure.It is important to understand the components and the interaction between them to do a backup to or restore from the Microsoft Azure Blob storage service.

La création d’un compte de stockage Microsoft Azure dans votre abonnement Azure est la première étape de ce processus.Creating a Windows Azure Storage account within your Azure subscription is the first step in this process. Ce compte de stockage est un compte d’administrateur disposant des autorisations administratives complètes sur tous les conteneurs et objets créés avec le compte de stockage.This storage account is an administrative account that has full administrative permissions on all containers and objects created with the storage account. SQL ServerSQL Server peut soit utiliser le nom du compte de stockage Microsoft Azure et la valeur de sa clé d’accès pour s’authentifier, ainsi qu’écrire et lire des objets blob dans le service de stockage d’objets blob Microsoft Azure, soit utiliser un jeton de signature d’accès partagé généré sur des conteneurs spécifiques lui octroyant des droits de lecture et d’écriture. can either use the Windows Azure storage account name and its access key value to authenticate and write and read blobs to the Microsoft Azure Blob storage service or use a Shared Access Signature token generated on specific containers granting it read and write rights. Pour plus d’informations sur les comptes Azure Storage, voir À propos des comptes de stockage Azure et, pour plus d’informations sur les signatures d’accès partagé, voir Signatures d’accès partagé, partie 1 : présentation du modèle SAP.For more information on Azure Storage Accounts, see About Azure Storage Accounts and for more information about Shared Access Signatures, see Shared Access Signatures, Part 1: Understanding the SAS Model. Les informations d'identification de SQL ServerSQL Server stockent ces informations et sont utilisées lors des opérations de sauvegarde ou de restauration.The SQL ServerSQL Server Credential stores this authentication information and is used during the backup or restore operations.

Service de stockage d’objets blob Microsoft AzureMicrosoft Azure Blob storage service

Compte de stockage : le compte de stockage constitue le point de départ de tous les services de stockage.Storage Account: The storage account is the starting point for all storage services. Pour accéder au service de stockage d’objets blob Microsoft Azure, commencez par créer un compte de stockage Microsoft Azure.To access the Microsoft Azure Blob storage service, first create a Windows Azure storage account. Pour plus d’informations, voir Créez un compte de stockage.For more information, see Create a Storage Account

Conteneur : un conteneur permet de regrouper un ensemble d’objets blob, et peut stocker un nombre illimité d’objets blob.Container: A container provides a grouping of a set of blobs, and can store an unlimited number of blobs. Pour pouvoir écrire une sauvegarde SQL ServerSQL Server dans le service de stockage d’objets blob Microsoft Azure, vous devez avoir créé au moins le conteneur racine.To write a SQL ServerSQL Server backup to the Microsoft Azure Blob storage service, you must have at least the root container created. Vous pouvez générer un jeton de signature d’accès partagé sur un conteneur, et accorder l’accès aux objets uniquement sur un conteneur spécifique.You can generate a Shared Access Signature token on a container and grant access to objects on a specific container only.

Objet blob : fichier de tout type et de toute taille.Blob: A file of any type and size. Deux types d’objets blob peuvent être stockés dans le service de stockage d’objets blob Microsoft Azure : les objets blob de blocs et les objets blob de pages.There are two types of blobs that can be stored in the Microsoft Azure Blob storage service: block and page blobs. SQL ServerSQL Server La sauvegarde peut utiliser les deux types d’objets blob en fonction de la syntaxe Transact-SQL utilisée. backup can use either blob type depending upon the Transact-SQL syntax used. Les objets blob sont adressables en utilisant le format d’URL suivant : https://<compte de stockage>.blob.core.windows.net/<conteneur>/<objet blob>.Blobs are addressable using the following URL format: https://<storage account>.blob.core.windows.net/<container>/<blob>. Pour plus d’informations sur le service de stockage d’objets blob Microsoft Azure, voir Prise en main du stockage d’objets blob Azure à l’aide de .NET.For more information about the Microsoft Azure Blob storage service, see How to use the Blob Storage from .NET. Pour plus d’informations sur les objets blob de pages et de blocs, voir Présentation des objets blob de blocs, des objets blob d’ajout et des objets blob de pages.For more information about page and block blobs, see Understanding Block and Page Blobs.

Stockage Blob AzureAzure Blob Storage

Capture instantanée Azure : capture instantanée d’objet blob Azure effectuée à un point dans le temps.Azure Snapshot: A snapshot of an Azure blob taken at a point in time. Pour plus d’informations, consultez Création d’un instantané d’objet blob.For more information, see Creating a Snapshot of a Blob. SQL ServerSQL Server prend désormais en charge les sauvegardes de captures instantanées Azure de fichiers de base de données stockés dans le service de stockage d’objets blob Microsoft Azure. backup now supports Azure snapshot backups of database files stored in the Microsoft Azure Blob storage service. Pour plus d’informations, consultez Sauvegarde d’instantanés de fichiers pour les fichiers de base de données dans Azure.For more information, see File-Snapshot Backups for Database Files in Azure.

SQL ServerSQL Server Components SQL ServerSQL Server Components

URL : une URL spécifie un URI (Uniform Resource Identifier) vers un fichier de sauvegarde unique.URL: A URL specifies a Uniform Resource Identifier (URI) to a unique backup file. L'URL est utilisée pour indiquer l'emplacement et le nom du fichier de sauvegarde de SQL ServerSQL Server .The URL is used to provide the location and name of the SQL ServerSQL Server backup file. L’URL doit pointer vers un objet blob réel et pas un simple conteneur.The URL must point to an actual blob, not just a container. Si l’objet blob n’existe pas, il est créé.If the blob does not exist, it is created. Si un objet blob existant est spécifié, la sauvegarde échoue, sauf si l’option « WITH FORMAT » est spécifiée pour remplacer le fichier de sauvegarde existant dans l’objet blob.If an existing blob is specified, BACKUP fails, unless the “WITH FORMAT” option is specified to overwrite the existing backup file in the blob.

Voici un exemple de valeur d’URL : http[s]://NOMCOMPTE.Blob.core.windows.net/<CONTENEUR>/<NOMFICHIER.bak>.Here is a sample URL value: http[s]://ACCOUNTNAME.blob.core.windows.net/<CONTAINER>/<FILENAME.bak>. HTTPS n'est pas obligatoire, mais est recommandé.HTTPS is not required, but is recommended.

Informations d'identification : les informations d'identification SQL ServerSQL Server sont des objets utilisés pour stocker les informations d'authentification requises pour la connexion à une ressource en dehors de SQL Server.Credential: A SQL ServerSQL Server credential is an object that is used to store authentication information required to connect to a resource outside of SQL Server. Ici, les processus de sauvegarde et de restauration SQL ServerSQL Server utilisent des informations d’identification pour s’authentifier auprès du service de stockage d’objets blob Microsoft Azure ainsi que de son conteneur et de ses objets blob.Here, SQL ServerSQL Server backup and restore processes use credential to authenticate to the Microsoft Azure Blob storage service and its container and blob objects. Les informations d’identification contiennent soit le nom du compte de stockage et les valeurs de clé d’accès de celui-ci, soit l’URL du conteneur et son jeton de signature d’accès partagé.The Credential stores either the name of the storage account and the storage account access key values or container URL and its Shared Access Signature token. Une fois les informations d’identification créées, la syntaxe des instructions BACKUP/RESTORE détermine le type d’objet blob et les informations d’identification requises.Once the credential is created, the syntax of the BACKUP/RESTORE statements determines the type of blob and the credential required.

Pour savoir comment créer une signature d’accès partagé, voir les exemples Créer une signature d’accès partagé plus loin dans cette rubrique. De même, pour savoir comment créer des informations d’identification SQL ServerSQL Server , voir les exemples Créer des informations d'identification plus loin dans cette rubrique.For an example about how to create a Shared Access Signature, see Create a Shared Access Signature examples later in this topic and to create a SQL ServerSQL Server Credential, see Create a Credential examples later in this topic.

Pour plus d’informations sur les informations d’identification en général, consultez Informations d’identification.For general information about credentials, see Credentials

Pour des informations sur d’autres exemples d’utilisation des informations d’identification, voir Créer un proxy de SQL Server Agent.For information on other examples where credentials are used, see Create a SQL Server Agent Proxy.

LimitationsLimitations

  • La sauvegarde dans le stockage Premium n’est pas prise en charge.Backup to premium storage is not supported.

  • La taille maximale de sauvegarde prise en charge à l’aide d’un objet blob de pages est limitée par la taille maximale d’un objet blob de page unique, c’est-à-dire 1 To.The maximum backup size supported using a page blob is limited by the maximum size of a single page blob, which 1 TB. La taille maximale de sauvegarde prise en charge à l’aide d’objets blob de blocs n’est pas limitée par la taille maximale d’un objet blob de blocs unique, qui est de 200 Go, car la sauvegarde vers des objets blob de blocs prend en charge un système de distribution permettant d’accepter des tailles de sauvegarde sensiblement plus importantes.The maximum backup size supported using block blobs is not limited by the maximum size of a block blob, which is 200 GB, because backup to block blobs supports striping to support substantially larger backup sizes.

  • Vous pouvez émettre des instructions de sauvegarde ou de restauration à l’aide de TSQL, SMO, des applets de commande PowerShell, ou de l’Assistant Restauration ou Sauvegarde de SQL Server Management Studio.You can issue backup or restore statements by using TSQL, SMO, PowerShell cmdlets, SQL Server Management Studio Backup or Restore wizard.

  • La création d'un nom d'unité logique n'est pas prise en charge.Creating a logical device name is not supported. Par conséquent, l'ajout d'une URL comme unité de sauvegarde à l'aide de sp_dumpdevice ou de SQL Server Management Studio n'est pas pris en charge.So adding URL as a backup device using sp_dumpdevice or through SQL Server Management Studio is not supported.

  • L'ajout d'objets blob de sauvegarde existants n'est pas pris en charge.Appending to existing backup blobs is not supported. Des sauvegardes vers un objet blob existant peuvent être remplacées uniquement à l’aide de l’option WITH FORMAT .Backups to an existing blob can only be overwritten by using the WITH FORMAT option. Toutefois, lors de l’utilisation de sauvegardes de capture instantanée de fichier (avec l’argument WITH FILE_SNAPSHOT ), l’argument WITH FORMAT n’est pas autorisé, pour éviter de laisser orphelines des captures instantanées de fichier qui ont été créées avec la sauvegarde file-snapshot d’origine.However, when using file-snapshot backups (using the WITH FILE_SNAPSHOT argument), the WITH FORMAT argument is not permitted to avoid leaving orphaned file-snapshots that were created with the original file-snapshot backup.

  • La sauvegarde vers plusieurs objets blob en une seule opération est prise en charge uniquement en utilisant un jeton de signature d’accès partagé (SAP) au lieu de la clé du compte de stockage pour les informations d’identification SQL.Backup to multiple blobs in a single backup operation is only supported using block blobs and using a Shared Access Signature (SAS) token rather than the storage account key for the SQL Credential.

  • La spécification de BLOCKSIZE n’est pas prise en charge pour les objets blob de pages.Specifying BLOCKSIZE is not supported for page blobs.

  • La spécification de MAXTRANSFERSIZE n’est pas prise en charge pour les objets blob de pages.Specifying MAXTRANSFERSIZE is not supported page blobs.

  • La spécification des options du jeu de sauvegarde RETAINDAYS et EXPIREDATE n’est pas prise en charge.Specifying backupset options - RETAINDAYS and EXPIREDATE are not supported.

  • SQL ServerSQL Server est soumis à une limite de 259 caractères pour le nom d'une unité de sauvegarde. has a maximum limit of 259 characters for a backup device name. BACKUP TO URL utilise 36 caractères pour les éléments requis utilisés pour spécifier l'URL « https://.blob.core.windows.net//.bak », ce qui laisse 223 caractères pour les noms de compte, de conteneur et d'objet blob rassemblés.The BACKUP TO URL consumes 36 characters for the required elements used to specify the URL – ‘https://.blob.core.windows.net//.bak’, leaving 223 characters for account, container, and blob names put together.

Prise en charge des instructions de sauvegarde/restaurationSupport for Backup/Restore Statements

Instruction de sauvegarde/restaurationBackup/Restore Statement Pris en chargeSupported ExceptionsExceptions CommentairesComments
BACKUPBACKUP OY BLOCKSIZE et MAXTRANSFERSIZE sont pris en charge pour les objets blob de blocs.BLOCKSIZE and MAXTRANSFERSIZE are supported for block blobs. Ils ne sont pas pris en charge pour les objets blob de pages.They are not supported for page blobs. BACKUP sur un objet blob de blocs nécessite une Signature d’accès partagé enregistrée dans des informations d’identification SQL Server.BACKUP to a block blob requires a Shared Access Signature saved in a SQL Server credential. BACKUP sur un objet blob de pages nécessite la clé de compte de stockage enregistrée dans des informations d’identification SQL ServerSQL Server, et nécessite de spécifier l’argument WITH CREDENTIAL.BACKUP to page blob requires the storage account key saved in a SQL ServerSQL Server credential, and requires the WITH CREDENTIAL argument to be specified.
RESTORERESTORE OY Requiert que les informations d’identification SQL ServerSQL Server soient définies, et que l’argument WITH CREDENTIAL soit spécifié si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.Requires a SQL ServerSQL Server credential to be defined, and requires the WITH CREDENTIAL argument to be specified if the SQL ServerSQL Server credential is defined using the storage account key as the secret
RESTORE FILELISTONLYRESTORE FILELISTONLY OY Requiert que les informations d’identification SQL ServerSQL Server soient définies, et que l’argument WITH CREDENTIAL soit spécifié si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.Requires a SQL ServerSQL Server credential to be defined, and requires the WITH CREDENTIAL argument to be specified if the SQL ServerSQL Server credential is defined using the storage account key as the secret
RESTORE HEADERONLYRESTORE HEADERONLY OY Requiert que les informations d’identification SQL ServerSQL Server soient définies, et que l’argument WITH CREDENTIAL soit spécifié si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.Requires a SQL ServerSQL Server credential to be defined, and requires the WITH CREDENTIAL argument to be specified if the SQL ServerSQL Server credential is defined using the storage account key as the secret
RESTORE LABELONLYRESTORE LABELONLY OY Requiert que les informations d’identification SQL ServerSQL Server soient définies, et que l’argument WITH CREDENTIAL soit spécifié si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.Requires a SQL ServerSQL Server credential to be defined, and requires the WITH CREDENTIAL argument to be specified if the SQL ServerSQL Server credential is defined using the storage account key as the secret
RESTORE VERIFYONLYRESTORE VERIFYONLY OY Requiert que les informations d’identification SQL ServerSQL Server soient définies, et que l’argument WITH CREDENTIAL soit spécifié si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.Requires a SQL ServerSQL Server credential to be defined, and requires the WITH CREDENTIAL argument to be specified if the SQL ServerSQL Server credential is defined using the storage account key as the secret
RESTORE REWINDONLYRESTORE REWINDONLY

Pour plus d’informations sur la syntaxe et les instructions de sauvegarde, consultez BACKUP (Transact-SQL).For syntax and general information about backup statements, see BACKUP (Transact-SQL).

Pour plus d’informations sur la syntaxe et les instructions de restauration, consultez RESTORE (Transact-SQL).For syntax and general information about restore statements, see RESTORE (Transact-SQL).

Prise en charge des arguments de sauvegardeSupport for Backup Arguments

ArgumentArgument Pris en chargeSupported ExceptionException CommentairesComments
DATABASEDATABASE OY
LOGLOG OY
TO (URL)TO (URL) OY Contrairement à DISK et TAPE, URL ne prend pas en charge la spécification ou la création d'un nom logique.Unlike DISK and TAPE, URL does not support specifying or creating a logical name. Cet argument est utilisé pour spécifier le chemin d'accès de l'URL du fichier de sauvegarde.This argument is used to specify the URL path for the backup file.
MIRROR TOMIRROR TO OY
WITH OPTIONS :WITH OPTIONS:
CREDENTIALCREDENTIAL OY L’argument WITH CREDENTIAL est pris en charge uniquement en cas d’utilisation de l’option BACKUP TO URL pour sauvegarder vers le service de stockage d’objets blob Microsoft Azure, et uniquement si les informations d’identification SQL ServerSQL Server sont définies en utilisant la clé du compte de stockage comme clé secrète.WITH CREDENTIAL is only supported when using BACKUP TO URL option to back up to the Microsoft Azure Blob storage service and only if the SQL ServerSQL Server credential is defined using the storage account key as the secret
FILE_SNAPSHOTFILE_SNAPSHOT OY
ENCRYPTIONENCRYPTION OY Quand l’argument WITH ENCRYPTION est spécifié, la sauvegarde de capture instantanée de fichier SQL ServerSQL Server vérifie que la base de données entière a été chiffrée par TDE (Transparent Data Encryption) avant d’effectuer la sauvegarde et, dans ce cas, chiffre le fichier de sauvegarde de capture instantanée de fichier en utilisant l’algorithme spécifié pour TDE sur la base de données.When the WITH ENCRYPTION argument is specified, SQL ServerSQL Server File-Snapshot Backup ensures that the entire database was TDE-encrypted before taking the backup and, if so, encrypts the file-snapshot backup file itself using the algorithm specified for TDE on the database. Si des données de la base de données ne sont pas chiffrées (par exemple, si le processus de chiffrement n’est pas encore terminé), la sauvegarde échoue.If all data in the database in the entire database is not encrypted, the backup will fail (e.g. the encryption process is not yet complete).
DIFFERENTIALDIFFERENTIAL OY
COPY_ONLYCOPY_ONLY OY
COMPRESSION|NO_COMPRESSIONCOMPRESSION|NO_COMPRESSION OY Non prise en charge pour une sauvegarde de capture instantanée de fichier.Not supported for file-snapshot backup
DESCRIPTIONDESCRIPTION OY
NAMENAME OY
EXPIREDATE | RETAINDAYSEXPIREDATE | RETAINDAYS
NOINIT | INITNOINIT | INIT L'ajout aux objets blob n'est pas possible.Appending to blobs is not possible. Pour remplacer une sauvegarde, utilisez l’argument WITH FORMAT .To overwrite a backup use the WITH FORMAT argument. Toutefois, lors de l’utilisation de sauvegardes de capture instantanée de fichier (avec l’argument WITH FILE_SNAPSHOT ), l’argument WITH FORMAT n’est pas autorisé, pour éviter de laisser orphelines des captures instantanées de fichier qui ont été créées avec la sauvegarde d’origine.However, when using file-snapshot backups (using the WITH FILE_SNAPSHOT argument), the WITH FORMAT argument is not permitted to avoid leaving orphaned file-snapshots that were created with the original backup.
NOSKIP | SKIPNOSKIP | SKIP
NOFORMAT | FORMATNOFORMAT | FORMAT OY Une sauvegarde effectuée vers un objet blob existant échoue à moins que l’option WITH FORMAT soit spécifiée.A backup taken to an existing blob fails unless WITH FORMAT is specified. Quand l’option WITH FORMAT est spécifiée, l’objet blob existant est remplacé.The existing blob is overwritten when WITH FORMAT is specified. Toutefois, lors de l’utilisation de sauvegardes de capture instantanée de fichier (avec l’argument WITH FILE_SNAPSHOT ), l’argument FORMAT n’est pas autorisé, pour éviter de laisser orphelines des captures instantanées de fichier qui ont été créées avec la sauvegarde file-snapshot d’origine.However, when using file-snapshot backups (using the WITH FILE_SNAPSHOT argument), the FORMAT argument is not permitted to avoid leaving orphaned file-snapshots that were created with the original file-snapshot backup. Toutefois, lors de l’utilisation de sauvegardes de capture instantanée de fichier (avec l’argument WITH FILE_SNAPSHOT ), l’argument WITH FORMAT n’est pas autorisé, pour éviter de laisser orphelines des captures instantanées de fichier qui ont été créées avec la sauvegarde d’origine.However, when using file-snapshot backups (using the WITH FILE_SNAPSHOT argument), the WITH FORMAT argument is not permitted to avoid leaving orphaned file-snapshots that were created with the original backup.
MEDIADESCRIPTIONMEDIADESCRIPTION OY
MEDIANAMEMEDIANAME OY
BLOCKSIZEBLOCKSIZE OY Non pris en charge pour l’objet blob de pages.Not supported for page blob. Prise en charge pour l’objet blob de blocs.Supported for block blob. Nous recommandons BLOCKSIZE=65536 pour optimiser l’utilisation des 50 000 blocs autorisés dans un objet blob de blocs.Recommend BLOCKSIZE=65536 to optimize use of the 50,000 blocks allowed in a block blob.
BUFFERCOUNTBUFFERCOUNT OY
MAXTRANSFERSIZEMAXTRANSFERSIZE OY Non pris en charge pour l’objet blob de pages.Not supported for page blob. Prise en charge pour l’objet blob de blocs.Supported for block blob. La valeur par défaut est 1 048 576.Default is 1048576. La valeur peut aller jusqu’à 4 Mo, par incréments de 65 536 octets.The value can range up to 4 MB in increments of 65536 bytes.
Nous recommandons MAXTRANSFERSIZE=4194304 pour optimiser l’utilisation des 50 000 blocs autorisés dans un objet blob de blocs.Recommend MAXTRANSFERSIZE=4194304 to optimize use of the 50,000 blocks allowed in a block blob.
NO_CHECKSUM | CHECKSUMNO_CHECKSUM | CHECKSUM OY
STOP_ON_ERROR | CONTINUE_AFTER_ERRORSTOP_ON_ERROR | CONTINUE_AFTER_ERROR OY
STATSSTATS OY
REWIND | NOREWINDREWIND | NOREWIND
UNLOAD | NOUNLOADUNLOAD | NOUNLOAD
NORECOVERY | STANDBYNORECOVERY | STANDBY OY
NO_TRUNCATENO_TRUNCATE OY

Pour plus d’informations sur les arguments de Backup, consultez BACKUP (Transact-SQL).For more information about backup arguments, see BACKUP (Transact-SQL).

Prise en charge des arguments de restaurationSupport for Restore Arguments

ArgumentArgument Pris en chargeSupported ExceptionsExceptions CommentairesComments
DATABASEDATABASE OY
LOGLOG OY
FROM (URL)FROM (URL) OY L'argument FROM URL est utilisé pour spécifier le chemin d'accès de l'URL du fichier de sauvegarde.The FROM URL argument is used to specify the URL path for the backup file.
WITH Options:WITH Options:
CREDENTIALCREDENTIAL OY L’argument WITH CREDENTIAL est pris en charge uniquement en cas d’utilisation de l’option RESTORE FROM URL pour restaurer à partir du service de stockage d’objets blob Microsoft Azure.WITH CREDENTIAL is only supported when using RESTORE FROM URL option to restore from Microsoft Azure Blob storage service.
PARTIALPARTIAL OY
RECOVERY | NORECOVERY | STANDBYRECOVERY | NORECOVERY | STANDBY OY
LOADHISTORYLOADHISTORY OY
MOVEMOVE OY
REPLACEREPLACE OY
RESTARTRESTART OY
RESTRICTED_USERRESTRICTED_USER OY
FILEFILE
PASSWORDPASSWORD OY
MEDIANAMEMEDIANAME OY
MEDIAPASSWORDMEDIAPASSWORD OY
BLOCKSIZEBLOCKSIZE OY
BUFFERCOUNTBUFFERCOUNT
MAXTRANSFERSIZEMAXTRANSFERSIZE
CHECKSUM | NO_CHECKSUMCHECKSUM | NO_CHECKSUM OY
STOP_ON_ERROR | CONTINUE_AFTER_ERRORSTOP_ON_ERROR | CONTINUE_AFTER_ERROR OY
FILESTREAMFILESTREAM OY Non prise en charge pour la sauvegarde de capture instantanée.Not supported for snapshot backup
STATSSTATS OY
REWIND | NOREWINDREWIND | NOREWIND
UNLOAD | NOUNLOADUNLOAD | NOUNLOAD
KEEP_REPLICATIONKEEP_REPLICATION OY
KEEP_CDCKEEP_CDC OY
ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKERENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER OY
STOPAT | STOPATMARK | STOPBEFOREMARKSTOPAT | STOPATMARK | STOPBEFOREMARK OY

Pour plus d’informations sur les arguments de Restore, consultez Arguments RESTORE (Transact-SQL).For more information about Restore arguments, see RESTORE Arguments (Transact-SQL).

Utilisation de la tâche de sauvegarde dans SQL Server Management StudioUsing Back Up Task in SQL Server Management Studio

Vous pouvez sauvegarder une base de données vers une URL par le biais de la tâche de sauvegarde dans SQL Server Management Studio à l’aide des informations d’identification SQL Server.You can back up a database to URL through the Back Up task in SQL Server Management Studio using a SQL Server Credential.

Note

Pour créer une sauvegarde de capture instantanée de fichier SQL ServerSQL Server , ou pour remplacer un support de sauvegarde existant, vous devez utiliser Transact-SQL, Powershell ou C# plutôt que la tâche de sauvegarde dans SQL Server Management Studio.To create a SQL ServerSQL Server file-snapshot backup, or overwrite an existing media set, you must use Transact-SQL, Powershell or C# rather than the Back Up task in SQL Server Management Studio.

Les étapes suivantes décrivent les modifications apportées à la tâche Sauvegarder la base de données dans SQL Server Management Studio pour autoriser la sauvegarde vers le stockage Microsoft Azure :The following steps describe the changes made to the Back Up Database task in SQL Server Management Studio to allow for backing up to Windows Azure storage:

  1. Dans l’ Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server et développez-la.In Object Explorer, connect to an instance of the SQL Server Database Engine and then expand that instance.

  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données souhaitée, pointez sur Tâches, puis cliquez sur Sauvegarder.Expand Databases, right-click the desired database, point to Tasks, and then click Back Up....

  3. Dans la page Général de la section Destination , l’option URL est disponible dans la liste déroulante Sauvegarde sur .On the General page in the Destination section the URL option is available in the Back up to: drop-down list. L’option URL sert à créer une sauvegarde dans le stockage Microsoft Azure.The URL option is used to create a backup to Microsoft Azure storage. Cliquez sur Ajouter pour ouvrir la boîte de dialogue Sélectionner la destination de la sauvegarde .Click Add and the Select Backup Destination dialog box will open:

    1. Conteneur de stockage Azure : nom du conteneur de stockage Microsoft Azure pour stocker les fichiers de sauvegarde.Azure storage container: The name of the Microsoft Azure storage container to store the backup files. Sélectionnez un conteneur existant dans la liste déroulante ou entrez manuellement le conteneur.Select an existing container from the drop-down list or manually enter the container.

    2. Stratégie d’accès partagé : entrez la signature d’accès partagé pour un conteneur entré manuellement.Shared Access Policy: Enter the shared access signature for a manually entered container. Ce champ n’est pas disponible si vous avez choisi un conteneur existant.This field is not available if an existing container was chosen.

    3. Fichier de sauvegarde : nom du fichier de sauvegarde.Backup File: Name of the backup file.

    4. Nouveau conteneur : permet d’enregistrer un conteneur existant pour lequel vous n’avez pas de signature d’accès partagé.New Container: Used to register an existing container that you do not have a shared access signature for. Consultez Se connecter à un abonnement Microsoft Azure.See Connect to a Microsoft Azure Subscription.

Note

Ajouter prend en charge plusieurs fichiers de sauvegarde et conteneurs de stockage pour un seul support de sauvegarde.Add supports multiple backup files and storage containers for a single media set.

Quand vous sélectionnez URL comme destination, certaines options de la page Options de support sont désactivées.When you select URL as the destination, certain options in the Media Options page are disabled. Les rubriques suivantes contiennent d'autres informations sur la boîte de dialogue Sauvegarder la base de données :The following topics have more information on the Back Up Database dialog:

Sauvegarder la base de données (page Général)Back Up Database (General Page)

Sauvegarder la base de données (page Options de support)Back Up Database (Media Options Page)

Sauvegarder la base de données (page Options de sauvegarde)Back Up Database (Backup Options Page)

Créer des informations d'identification - Authentification dans le stockage AzureCreate Credential - Authenticate to Azure Storage

Sauvegarde SQL Server vers une URL à l'aide de l'Assistant Plan de maintenanceSQL Server Backup to URL Using Maintenance Plan Wizard

Comme pour la tâche de sauvegarde décrite précédemment, l’Assistant Plan de maintenance dans SQL Server Management Studio inclut l’option URL parmi les options de destination, ainsi que d’autres objets de prise en charge requis pour sauvegarder vers un stockage Microsoft Azure, telles les informations d’identification SQL.Similar to the backup task described previously, the Maintenance Plan Wizard in SQL Server Management Studio includes URL as one of the destination options, and other supporting objects required to backup to Windows Azure storage like the SQL Credential. Pour plus d’informations, voir la section Définir les tâches de sauvegarde dans Using Maintenance Plan Wizard.It has the same For more information, see the Define Backup Tasks section in Using Maintenance Plan Wizard.

Note

Pour créer un jeu de sauvegarde distribué, une sauvegarde de capture instantanée de fichier SQL ServerSQL Server ou des informations d’identification SQL utilisant un jeton d’accès partagé, vous devez utiliser Transact-SQL, Powershell ou C# plutôt que la tâche Sauvegarder dans l’Assistant Plan de Maintenance.To create a striped backup set, a SQL ServerSQL Server file-snapshot backup, or a SQL credential using Shared Access token, you must use Transact-SQL, Powershell or C# rather than the Backup task in Maintenance Plan Wizard.

Restauration à partir du stockage Microsoft Azure à l’aide de SQL Server Management StudioRestoring from Microsoft Azure storage Using SQL Server Management Studio

La tâche Restaurer la base de données propose URL comme unité à partir de laquelle effectuer la restauration.The Restore Database task includes URL as a device to restore from. Les étapes suivantes décrivent l’utilisation de la tâche Restaurer pour restaurer à partir du service de stockage d’objets blob Microsoft Azure :The following steps describe using the Restore task to restore from the Microsoft Azure Blob storage service:

  1. Cliquez avec le bouton droit sur Bases de données et sélectionnez Restaurer la base de données.Right-click Databases and select Restore Database....

  2. Dans la page Général , sélectionnez Unité dans la section Source .On the General page, select Device under the Source section.

  3. Cliquez sur le bouton Parcourir (...) pour ouvrir la boîte de dialogue Sélectionner les unités de sauvegarde .Click the browse (...) button to open the Select backup devices dialog box.

  4. Sélectionnez URL dans la liste déroulante Type de support de sauvegarde .Select URL from the Backup media type: drop-down list. Cliquez sur Ajouter pour ouvrir la boîte de dialogue Sélectionner un emplacement de fichier de sauvegarde .Click Add to open the Select a Backup File Location dialog box.

    1. Conteneur de stockage Azure : nom qualifié complet du conteneur de stockage Microsoft Azure qui contient les fichiers de sauvegarde.Azure storage container: The fully qualified name of the Microsoft Azure storage container which contains the backup files. Sélectionnez un conteneur existant dans la liste déroulante ou entrez manuellement le nom qualifié complet du conteneur.Select an existing container from the drop-down list or manually enter the fully qualified container name.

    2. Signature d’accès partagé : permet d’entrer la signature d’accès partagé pour le conteneur spécifié.Shared Access Signature: Used to enter the shared access signature for the designated container.

    3. Ajouter : permet d’enregistrer un conteneur existant pour lequel vous n’avez pas de signature d’accès partagé.Add: Used to register an existing container that you do not have a shared access signature for. Consultez Se connecter à un abonnement Microsoft Azure.See Connect to a Microsoft Azure Subscription.

    4. OK : SQL Server se connecte au stockage Microsoft Azure en utilisant les informations d’identification SQL spécifiées et ouvre la boîte de dialogue Localiser le fichier de sauvegarde dans Microsoft Azure.OK: SQL Server connects to Microsoft Azure storage using the SQL Credential information you provided and opens the Locate Backup File in Microsoft Azure dialog. Les fichiers de sauvegarde résidant dans le conteneur de stockage s’affichent dans cette page.The backup files residing in the storage container are displayed on this page. Sélectionnez le fichier à utiliser pour la restauration, puis cliquez sur OK.Select the file you want to use to restore and click OK. Vous revenez dans la boîte de dialogue Sélectionner les unités de sauvegarde et, quand vous cliquez sur OK , vous revenez dans la boîte de dialogue principale Restaurer où vous pourrez effectuer la restauration.This takes you back to the Select Backup Devices dialog, and clicking OK on this dialog takes you back to the main Restore dialog where you will be able complete the restore.

      Restaurer la base de données (page Général)Restore Database (General Page)

      Restaurer la base de données (page Fichiers)Restore Database (Files Page)

      Restaurer la base de données (page Options)Restore Database (Options Page)

Exemples de codeCode Examples

Cette section contient les exemples suivants :This section contains the following examples.

Note

Pour obtenir un didacticiel sur l’utilisation de SQL Server 2016 avec le service de stockage d’objets blob Microsoft Azure, consultez Tutorial: Using the Microsoft Azure Blob storage service with SQL Server 2016 databases(Didacticiel : Utilisation du service de stockage d’objets blob Microsoft Azure avec des bases de données SQL Server 2016).For a tutorial on using SQL Server 2016 with the Microsoft Azure Blob storage service, see Tutorial: Using the Microsoft Azure Blob storage service with SQL Server 2016 databases

Créer une signature d’accès partagéCreate a Shared Access Signature

L’exemple suivant crée des signatures d’accès partagé utilisables pour créer des informations d’identification SQL ServerSQL Server sur un conteneur nouvellement créé.The following example creates Shared Access Signatures that can be used to create a SQL ServerSQL Server Credential on a newly created container. Le script crée une signature d’accès partagé associée à une stratégie d’accès stockée.The script creates a Shared Access Signature that is associated with a Stored Access Policy. Pour plus d’informations, voir Signatures d’accès partagé, partie 1 : présentation du modèle SAP.For more information, see Shared Access Signatures, Part 1: Understanding the SAS Model. Le script écrit également la commande T-SQL requise pour créer les informations d’identification sur SQL Server.The script also writes the T-SQL command required to create the credential on SQL Server.

Note

L’exemple nécessite Microsoft Azure Powershell.The example requires Microsoft Azure Powershell. Pour plus d’informations sur l’installation et l’utilisation d’Azure Powershell, consultez Installation et configuration d’Azure PowerShell.For information about installing and using Azure Powershell, see How to install and configure Azure PowerShell.
Ces scripts ont été vérifiés à l’aide d’Azure PowerShell 5.1.15063.These scripts were verified using Azure PowerShell 5.1.15063.

Signature d’accès partagé associée à une stratégie d’accès stockéeShared Access Signature that is associated with a Stored Access Policy

# Define global variables for the script  
$prefixName = '<a prefix name>'  # used as the prefix for the name for various objects  
$subscriptionName='<your subscription name>'   # the name of subscription name you will use  
$locationName = '<a data center location>'  # the data center region you will use  
$storageAccountName= $prefixName + 'storage' # the storage account name you will create or use  
$containerName= $prefixName + 'container'  # the storage container name to which you will attach the SAS policy with its SAS token  
$policyName = $prefixName + 'policy' # the name of the SAS policy  


# Set a variable for the name of the resource group you will create or use  
$resourceGroupName=$prefixName + 'rg'   

# adds an authenticated Azure account for use in the session   
Login-AzureRmAccount

# set the tenant, subscription and environment for use in the rest of   
Set-AzureRmContext -SubscriptionName $subscriptionName   

# create a new resource group - comment out this line to use an existing resource group  
New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName   

# Create a new ARM storage account - comment out this line to use an existing ARM storage account  
New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type Standard_RAGRS -Location $locationName   

# Get the access keys for the ARM storage account  
$accountKeys = Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName  

# Create a new storage account context using an ARM storage account  
$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].value 

# Creates a new container in blob storage  
$container = New-AzureStorageContainer -Context $storageContext -Name $containerName  
$cbc = $container.CloudBlobContainer  

# Sets up a Stored Access Policy and a Shared Access Signature for the new container  
$policy = New-AzureStorageContainerStoredAccessPolicy -Container $containerName -Policy $policyName -Context $storageContext -ExpiryTime $(Get-Date).ToUniversalTime().AddYears(10) -Permission "rwld"
$sas = New-AzureStorageContainerSASToken -Policy $policyName -Context $storageContext -Container $containerName


# Gets the Shared Access Signature for the policy  
$policy = new-object 'Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy'  
$sas = $cbc.GetSharedAccessSignature($policy, $policyName)  
Write-Host 'Shared Access Signature= '$($sas.Substring(1))''  

# Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature  
Write-Host 'Credential T-SQL'  
$tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.Uri,$sas.Substring(1)   
$tSql | clip  
Write-Host $tSql  

Après avoir exécuté le script, copiez la commande CREATE CREDENTIAL dans un outil de requête, connectez-vous à une instance de SQL Server et exécutez la commande pour créer les informations d’identification avec la signature d’accès partagé.After succesfully running the script, copy the CREATE CREDENTIAL command to a query tool, connect to an instancance of SQL Server and run the command to create the credential with the Shared Access Signature.

Créer des informations d'identificationCreate a Credential

Les exemples suivants créent des informations d’identification SQL ServerSQL Server pour l’authentification auprès du service de stockage d’objets blob Microsoft Azure.The following examples create SQL ServerSQL Server credentials for authentication to the Microsoft Azure Blob storage service. Procédez de l'une des manières suivantes :Do one of the following.

  1. Utilisation d’une signature d’accès partagéUsing Shared Access Signature

    Si vous avez exécuté le script pour créer la signature d’accès partagé ci-dessus, copiez CREATE CREDENTIAL dans un éditeur de requête connecté à votre instance de SQL Server et exécutez la commande.If you ran the script to create the Shared Access Signature above, copy the CREATE CREDENTIAL to a query editor connected to your instance of SQL Server and run the command.

    Le code T-SQL suivant est un exemple qui crée les informations d’identification pour utiliser une signature d’accès partagé.The following T-SQL is an example that creates the credential to use a Shared Access Signature.

    IF NOT EXISTS  
    (SELECT * FROM sys.credentials   
    WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>')  
    CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] 
      WITH IDENTITY = 'SHARED ACCESS SIGNATURE',  
      SECRET = '<SAS_TOKEN>';  
    
  2. Utilisation d’une identité de compte de stockage et d’une clé d’accèsUsing storage account identity and access key

    IF NOT EXISTS  
    (SELECT * FROM sys.credentials   
    WHERE name = '<mycredentialname>')  
    CREATE CREDENTIAL [<mycredentialname>] WITH IDENTITY = '<mystorageaccountname>'  
    ,SECRET = '<mystorageaccountaccesskey>';  
    

Effectuer une sauvegarde complète de la base de donnéesPerform a full database backup

Les exemples suivants effectuent une sauvegarde complète de la base de données AdventureWorks2016 vers le service de stockage d’objets blob Microsoft Azure.The following examples perform a full database backup of the AdventureWorks2016 database to the Microsoft Azure Blob storage service. Procédez de l'une des manières suivantes :Do one of the following:

  1. Vers une URL en utilisant une signature d’accès partagéTo URL using Shared Access Signature

    BACKUP DATABASE AdventureWorks2016   
    TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2016.bak';  
    GO   
    
  2. Vers une URL en utilisant une identité de compte de stockage et une clé d’accèsTo URL using storage account identity and access key

    BACKUP DATABASE AdventureWorks2016  
    TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2016.bak'   
         WITH CREDENTIAL = '<mycredentialname>'   
        ,COMPRESSION  
        ,STATS = 5;  
    GO   
    

Restauration jusqu'à une date et heure en utilisant STOPATRestoring to a point-in-time using STOPAT

L’exemple suivant restaure la base de données exemple AdventureWorks2016 dans l’état où elle était à un point dans le temps, et illustre une opération de restauration.The following example restores the AdventureWorks2016 sample database database to its state at a point in time, and shows a restore operation.

  1. À partir d’une URL en utilisant une signature d’accès partagéFrom URL using Shared Access Signature

    RESTORE DATABASE AdventureWorks2016 FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2016_2015_05_18_16_00_00.bak'   
    WITH MOVE 'AdventureWorks2016_data' to 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2016.mdf'  
    ,MOVE 'AdventureWorks2016_log' to 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2016.ldf'  
    ,NORECOVERY  
    ,REPLACE  
    ,STATS = 5;  
    GO   
    
    RESTORE LOG AdventureWorks2016 FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2016_2015_05_18_18_00_00.trn'   
    WITH   
    RECOVERY   
    ,STOPAT = 'May 18, 2015 5:35 PM'   
    GO  
    

Voir aussiSee Also

Meilleures pratiques et dépannage de sauvegarde SQL Server vers une URL SQL Server Backup to URL Best Practices and Troubleshooting
Sauvegarder et restaurer des bases de données système (SQL Server) Back Up and Restore of System Databases (SQL Server)
Tutorial: Using the Microsoft Azure Blob storage service with SQL Server 2016 databasesTutorial: Using the Microsoft Azure Blob storage service with SQL Server 2016 databases