Inicio rápido: Copia de seguridad y restauración de SQL en el servicio Azure Blob StorageQuickstart: SQL backup and restore to Azure Blob storage service

Se aplica a:Applies to: síSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores de SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed InstanceSe aplica a:Applies to: síSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) and later SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance

Con este inicio rápido, entenderá mejor cómo escribir copias de seguridad en el servicio Azure Blob Storage y cómo restaurar desde este servicio.This quickstart helps you understand how to write backups to and restore from the Azure Blob Storage Service. En el artículo se explica cómo crear un contenedor de blobs de Azure, escribir una copia de seguridad en el Blob service y, luego, realizar una restauración.The article explains how to create an Azure Blob Container, write a backup to the blob service, and then perform a restore.

Nota

SQL Server 2012 SP1 CU2 incorporó la compatibilidad con la copia de seguridad en Azure Blob Storage.SQL Server 2012 SP1 CU2 introduced support for back up to Azure Blob storage. SQL Server 2014 y versiones anteriores no admiten la firma de acceso compartido (SAS) que se describe en este artículo de inicio rápido.SQL Server 2014 and prior does not support the Shared Access Signature (SAS) that is described in this quickstart article.

Para SQL Server 2014 y versiones anteriores, use Tutorial: Copia de seguridad y restauración de SQL Server en el servicio Azure Blob Storage.For SQL Server 2014 and prior, use Tutorial: SQL Server 2014 Backup and Restore to Microsoft Azure Blob storage.

Requisitos previosPrerequisites

Para completar este inicio rápido, debe estar familiarizado con los conceptos de copias de seguridad y restauración de SQL ServerSQL Server y con la sintaxis de T-SQL.To complete this quickstart, you must be familiar with SQL ServerSQL Server backup and restore concepts and T-SQL syntax. Necesita una cuenta de Azure Storage, SQL Server Management Studio (SSMS) y acceso a un servidor que ejecute SQL Server o Azure SQL Managed Instance.You need an Azure storage account, SQL Server Management Studio (SSMS), and access to either a server that's running SQL Server or Azure SQL Managed Instance. Además, la cuenta que se usa para emitir comandos BACKUP o RESTORE debe tener el rol de base de datos db_backupoperator con permisos Modificar cualquier credencial.Additionally, the account used to issue the BACKUP and RESTORE commands should be in the db_backupoperator database role with alter any credential permissions.

Creación de un contenedor de blobs de AzureCreate Azure Blob container

Los contenedores proporcionan una agrupación de un conjunto de blobs.A container provides a grouping of a set of blobs. Todos los blobs deben estar en un contenedor.All blobs must be in a container. Una cuenta de almacenamiento puede contener un número ilimitado de contenedores, pero debe tener al menos uno.A storage account can contain an unlimited number of containers, but must have at least one container. Un contenedor puede almacenar un número ilimitado de blobs.A container can store an unlimited number of blobs.

Para crear un contenedor, siga estos pasos:To create a Container, follow these steps:

  1. Abra Azure Portal.Open the Azure portal.

  2. Navegue a la cuenta de almacenamiento.Navigate to your Storage Account.

  3. Seleccione la cuenta de almacenamiento y baje hasta Blob Services (Servicios de blob).Select the storage account, scroll down to Blob Services.

  4. Seleccione Blobs y después + Contenedor para agregar un nuevo contenedor.Select Blobs and then select + Container to add a new container.

  5. Escriba el nombre del contenedor y tome nota del nombre de contenedor especificado.Enter the name for the container and make note of the container name you specified. Esta información se usa en la dirección URL (ruta de acceso al archivo de copia de seguridad) en las instrucciones T-SQL más adelante en este inicio rápido.This information is used in the URL (path to backup file) in the T-SQL statements later in this quickstart.

  6. Seleccione Aceptar.Select OK.

    Nuevo contenedor

Nota

La autenticación en la cuenta de almacenamiento es necesaria para las copias de seguridad y la restauración de SQL Server, incluso aunque elija crear un contenedor público.Authentication to the storage account is required for SQL Server backup and restore even if you choose to create a public container. También puede crear un contenedor mediante programación con las API de REST.You can also create a container programmatically using REST APIs. Para más información, vea Create container (Creación de contenedor)For more information, see Create container

Creación de una base de datos de pruebaCreate a test database

En este paso, cree una base de datos de prueba con SQL Server Management Studio (SSMS).In this step, create a test database using SQL Server Management Studio (SSMS).

  1. Inicie SQL Server Management Studio (SSMS) y conéctese a la instancia de SQL Server.Launch SQL Server Management Studio (SSMS) and connect to your SQL Server instance.
  2. Abra una ventana de nueva consulta.Open a New Query window.
  3. Ejecute el siguiente código Transact-SQL (T-SQL) para crear la base de datos de prueba.Run the following Transact-SQL (T-SQL) code to create your test database. Actualice el nodo Bases de datos en el Explorador de objetos para ver la nueva base de datos.Refresh the Databases node in Object Explorer to see your new database. Las bases de datos recién creadas en SQL Managed Instance tienen habilitado TDE de manera automática, por lo que deberá deshabilitarlo para continuar.Newly created databases on SQL Managed Instance automatically have TDE enabled so you'll need to disable it to proceed.
USE [master]
GO

-- Create database
CREATE DATABASE [SQLTestDB]
GO

-- Create table in database
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
    ID INT NOT NULL PRIMARY KEY,
    c1 VARCHAR(100) NOT NULL,
    dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO

-- Populate table 
USE [SQLTestDB]
GO

INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO

SELECT * FROM SQLTest
GO

-- Disable TDE for newly-created databases on SQL Managed Instance 
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO

Crear una credencialCreate credential

Use la GUI de SQL Server Management Studio para crear la credencial siguiendo estos pasos.Use the GUI in SQL Server Management Studio to create the credential by following the steps below. De manera alternativa, también puede crear la credencial mediante programación.Alternatively, you can create the credential programmatically as well.

  1. Expanda el nodo Bases de datos dentro del Explorador de objetos de SQL Server Management Studio(SSMS).Expand the Databases node within Object Explorer of SQL Server Management Studio(SSMS).

  2. Haga clic con el botón derecho en la base de datos SQLTestDB nueva, mantenga el puntero del mouse sobre Tareas y seleccione Copia de seguridad… para iniciar el Asistente de copia de seguridad de base de datos.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  3. Seleccione Dirección URL en el menú desplegable Copia de seguridad en de destino y seleccione Agregar para abrir el cuadro de diálogo Seleccionar destino de la copia de seguridad.Select URL from the Back up to destination drop-down, and then select Add to launch the Select Backup Destination dialog box.

    Copia de seguridad en dirección URL

  4. Seleccione Nuevo contenedor en el cuadro de diálogo Seleccionar destino de la copia de seguridad para iniciar la ventana Conectarse a una suscripción de Microsoft.Select New container on the Select Backup Destination dialog box to launch the Connect to a Microsoft Subscription window.

    Captura de pantalla del cuadro de diálogo Seleccionar destino de la copia de seguridad con la opción Nuevo contenedor resaltada.

  5. Para iniciar sesión en Azure Portal, seleccione Iniciar sesión… y continúe con el proceso de inicio de sesión.Sign in to the Azure portal by selecting Sign In... and then proceed through the sign-in process.

  6. Seleccione la suscripción en el menú desplegable.Select your subscription from the drop-drown.

  7. Seleccione la cuenta de almacenamiento en el menú desplegable.Select your storage account from the drop-down.

  8. Seleccione el contenedor que creó anteriormente en el menú desplegable.Select the container you created previously from the drop-down.

  9. Seleccione Crear credencial para generar la firma de acceso compartido (SAS) .Select Create Credential to generate your Shared Access Signature (SAS). Guarde este valor, ya que lo necesitará para la restauración.Save this value as you'll need it for the restore.

    Crear una credencial

  10. Haga clic en Aceptar para cerrar la ventana Conectarse a una suscripción de Microsoft.Select OK to close the Connect to a Microsoft Subscription window. Con esto se rellena el valor del contenedor de almacenamiento de Azure en el cuadro de diálogo Seleccionar destino de copia de seguridad.This populates the Azure storage container value on the Select Backup Destination dialog box. Seleccione Aceptar para elegir el contenedor de almacenamiento seleccionado y cierre el cuadro de diálogo.Select OK to choose the selected storage container, and close the dialog box.

  11. En este momento, puede ir directamente al paso 4 de la sección siguiente para realizar la copia de seguridad de la base de datos, o bien cerrar el Asistente para la copia de seguridad de base de datos si en su lugar quiere seguir usando Transact-SQL para crear la copia de seguridad de la base de datos.At this point, you can either skip ahead to step 4 in the next section to take the backup of the database, or close the Back up Database wizard if you want to proceed with using Transact-SQL to back up the database instead.

Copia de seguridad de base de datosBack up database

En este paso, cree una copia de seguridad de la base de datos SQLTestDB en la cuenta de Azure Blob Storage con la GUI dentro de SQL Server Management Studio o con Transact-SQL (T-SQL).In this step, back up the database SQLTestDB to your Azure Blob storage account using either the GUI within SQL Server Management Studio, or Transact-SQL (T-SQL).

  1. Si el Asistente para la copia de seguridad de base de datos todavía no está abierto, expanda el nodo Bases de datos dentro del Explorador de objetos de SQL Server Management Studio(SSMS).If the Back Up Database wizard is not already open, expand the Databases node within Object Explorer of SQL Server Management Studio(SSMS).

  2. Haga clic con el botón derecho en la base de datos SQLTestDB nueva, mantenga el puntero del mouse sobre Tareas y seleccione Copia de seguridad… para iniciar el Asistente de copia de seguridad de base de datos.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  3. Seleccione Dirección URL en el menú desplegable Copia de seguridad en y seleccione Agregar para abrir el cuadro de diálogo Seleccionar destino de la copia de seguridad.Select URL from the Back up to drop down, and then select Add to launch the Select Backup Destination dialog box.

    Copia de seguridad en dirección URL

  4. Seleccione el contenedor que creó en el paso anterior en el menú desplegable Contenedor de almacenamiento de Azure.Select the container you created in the previous step in the Azure storage container drop-down.

    Contenedor de almacenamiento de Windows Azure

  5. Seleccione Aceptar en el Asistente para la copia de seguridad de base de datos para crear una copia de seguridad de su base de datos.Select OK on the Back Up Database wizard to back up your database.

  6. Seleccione Aceptar una vez que la copia de seguridad de la base de datos se haya creado correctamente para cerrar todas las ventanas relacionadas con la copia de seguridad.Select OK once your database is backed up successfully to close all backup-related windows.

    Sugerencia

    Puede generar un script de la instancia de Transact-SQL detrás de este comando si selecciona Script en la parte superior del Asistente para la copia de seguridad de base de datos: Comando de scriptYou can script out the Transact-SQL behind this command by selecting Script at the top of the Back Up Database wizard: Script command

Eliminar base de datosDelete database

En este paso, elimine la base de datos antes de realizar la restauración.In this step, delete the database before performing the restore. Este paso solo es necesario para este tutorial, pero no es probable que se use en procedimientos normales de administración de bases de datos.This step is only necessary for the purpose of this tutorial, but is unlikely to be used in normal database management procedures. Puede omitir este paso, pero tendrá que cambiar el nombre de la base de datos durante la restauración en una instancia administrada, o bien ejecutar el comando de restauración WITH REPLACE para restaurar correctamente la base de datos en el entorno local.You can skip this step, but then you'll either need to change the name of the database during the restore on a managed instance, or run the restore command WITH REPLACE to restore the database successfully on-premises.

  1. Expanda el nodo Bases de datos en el Explorador de objetos, haga clic con el botón derecho en la base de datos SQLTestDB y seleccione Eliminar para iniciar el Asistente para eliminar el objeto.Expand the Databases node in Object explorer, right-click the SQLTestDB database, and select delete to launch the Delete object wizard.
  2. En una instancia administrada, seleccione Aceptar para eliminar la base de datos.On a managed instance, select OK to delete the database. En el entorno local, active la casilla junto a Cerrar conexiones existentes y seleccione Aceptar para eliminar la base de datos.On-premises, check the checkbox next to Close existing connections and then select OK to delete the database.

Restaurar base de datosRestore database

En este paso, restaure la base de datos con la GUI de SQL Server Management Studio o con Transact-SQL.In this step, restore the database using either the GUI in SQL Server Management Studio, or with Transact-SQL.

  1. Haga clic con el botón secundario en el nodo Bases de datos en el Explorador de objetos dentro de SQL Server Management Studio y seleccione Restaurar base de datos.Right-click the Databases node in Object Explorer within SQL Server Management Studio and select Restore Database.

  2. Seleccione Dispositivo y, luego, los puntos suspensivos (…) para elegir el dispositivo.Select Device and then select the ellipses (...) to choose the device.

    Selección de restaurar el dispositivo

  3. Seleccione Dirección URL en el menú desplegable Tipo de medio de copia de seguridad y seleccione Agregar para agregar el dispositivo.Select URL from the Backup media type drop-down and select Add to add your device.

    Agregar dispositivo de copia de seguridad

  4. Seleccione el contenedor en el menú desplegable y pegue la firma de acceso compartido (SAS) que guardó cuando creó la credencial.Select the container from the drop-down and then paste in the Shared Access Signature (SAS) you saved when creating the credential.

    Captura de pantalla del cuadro de diálogo Seleccionar ubicación de archivo de copia de seguridad con el campo Firma de acceso compartido rellenado.

  5. Seleccione Aceptar para seleccionar la ubicación del archivo de copia de seguridad.Select OK to select the backup file location.

  6. Expanda Contenedores y seleccione el contenedor en el que se encuentra el archivo de copia de seguridad.Expand Containers and select the container where your backup file exists.

  7. Seleccione el archivo de copia de seguridad que quiere restaurar y, luego, seleccione Aceptar.Select the backup file you want to restore and then select OK. Si no hay archivos visibles, es posible que esté usando una clave SAS incorrecta.If no files are visible, then you may be using the wrong SAS key. Para regenerar la clave SAS, siga los mismos pasos de antes para agregar el contenedor.You can regenerate the SAS key again by following the same steps as before to add the container.

    Selección de restaurar el archivo

  8. Seleccione Aceptar para cerrar el cuadro de diálogo Seleccionar dispositivos de copia de seguridad.Select OK to close the Select backup devices dialog box.

  9. Seleccione Aceptar para restaurar la base de datos.Select OK to restore your database.

Consulte tambiénSee also

Estas son algunas lecturas recomendadas para comprender mejor los conceptos y los procedimientos recomendados al usar el servicio Azure Blob Storage para copias de seguridad de SQL ServerSQL Server.Following is some recommended reading to understand the concepts and best practices when using Azure Blob storage service for SQL ServerSQL Server backups.