Compartir a través de


managed_backup.sp_backup_config_basic (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

Configura la copia de seguridad administrada de SQL Server en la configuración básica de Microsoft Azure para una base de datos específica o para una instancia de SQL Server.

Nota:

Se puede llamar a este procedimiento por su cuenta para crear una configuración básica de copia de seguridad administrada. Sin embargo, si planea agregar características avanzadas o una programación personalizada, configure esas opciones mediante managed_backup.sp_backup_config_advanced y managed_backup.sp_backup_config_schedule, antes de habilitar la copia de seguridad administrada con este procedimiento.

Convenciones de sintaxis de Transact-SQL

Sintaxis

EXEC managed_backup.sp_backup_config_basic
    [ @enable_backup = ] { 0 | 1 }
    , [ @database_name = ] 'database_name'
    , [ @container_url = ] 'Azure_Storage_blob_container'
    , [ @retention_days = ] retention_period_in_days
    , [ @credential_name = ] 'sql_credential_name'
[ ; ]

Argumentos

[ @enable_backup = ] { 0 | 1 }

Habilite o deshabilite la copia de seguridad administrada de SQL Server en Microsoft Azure para la base de datos especificada. @enable_backup es bit.

Parámetro obligatorio al configurar la copia de seguridad administrada de SQL Server en Microsoft Azure para la primera instancia de SQL Server. Si va a cambiar una copia de seguridad administrada existente de SQL Server a la configuración de Microsoft Azure, este parámetro es opcional. En ese caso, los valores de configuración no especificados conservan sus valores existentes.

Para más información, consulte Habilitación de la copia de seguridad administrada de SQL Server en Azure.

[ @database_name = ] 'database_name'

Nombre de la base de datos para habilitar la copia de seguridad administrada en una base de datos específica.

Si @database_name se establece NULLen , la configuración se encuentra en el nivel de instancia (se aplica a todas las bases de datos nuevas creadas en la instancia).

[ @container_url = ] 'Azure_Storage_blob_container'

Dirección URL que indica la ubicación de la copia de seguridad. Cuando @credential_name es NULL, esta dirección URL es una dirección URL de firma de acceso compartido (SAS) a un contenedor de blobs en Azure Storage y las copias de seguridad usan la nueva copia de seguridad para bloquear la funcionalidad de blobs. Para más información, consulte Concesión de acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido (SAS). Cuando se especifica @credential_name , se trata de una dirección URL de la cuenta de almacenamiento y las copias de seguridad usan la copia de seguridad en desuso para la funcionalidad de blob en páginas.

Si la dirección URL de SAS tiene incluido el token de SAS, debe separarlo del token de SAS en el signo de interrogación y no incluir el signo de interrogación.

Por ejemplo, https://managedbackupstorage.blob.core.windows.net/backupcontainer?sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl da como resultado los dos valores siguientes:

Tipo Output
Dirección URL del contenedor https://managedbackupstorage.blob.core.windows.net/backupcontainer
Token de SAS sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

Nota:

Solo se admite una dirección URL de SAS para este parámetro en este momento.

[ @retention_days = ] retention_period_in_days

El período de retención en días de los archivos de copia de seguridad. @retention_days es int. Este es un parámetro necesario al configurar la copia de seguridad administrada de SQL Server en Microsoft Azure por primera vez en la instancia de SQL Server. Al cambiar la copia de seguridad administrada de SQL Server a la configuración de Microsoft Azure, este parámetro es opcional. Si no se especifica, los valores de configuración existentes se conservan.

[ @credential_name = ] 'sql_credential_name'

Nombre de la credencial de SQL que se usa para autenticarse en la cuenta de almacenamiento de Azure. @credential_name es sysname. Cuando se especifica, la copia de seguridad se almacena en un blob en páginas. Si este parámetro es NULL, la copia de seguridad se almacena como un blob en bloques. La copia de seguridad en blobs en páginas está en desuso, por lo que se prefiere usar la nueva funcionalidad de copia de seguridad de blobs en bloques. Cuando se usa para cambiar la copia de seguridad administrada de SQL Server a la configuración de Microsoft Azure, este parámetro es opcional. Si no se especifica, se conservan los valores de configuración existentes.

Advertencia

El parámetro @credential_name no se admite en este momento. Solo se admite la copia de seguridad en blob en bloques, lo que requiere que este parámetro sea NULL.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Permisos

Requiere la pertenencia al rol de base de datos db_backupoperator , con permisos ALTER ANY CREDENTIAL y permisos EXECUTE en el sp_delete_backuphistory procedimiento almacenado.

Ejemplos

A Creación de un contenedor de cuentas de almacenamiento y una dirección URL de SAS

Puede crear el contenedor de la cuenta de almacenamiento y la dirección URL de firma de acceso compartido (SAS) mediante los comandos de Azure PowerShell más recientes. En el ejemplo siguiente se crea un contenedor myContainer en la mystorageaccount cuenta de almacenamiento y, a continuación, se obtiene una dirección URL de SAS para él con permisos completos.

Para obtener más información sobre las firmas de acceso compartido, consulte Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido (SAS). Para obtener un script de PowerShell de ejemplo, consulte Creación de una firma de acceso compartido.

$context = New-AzureStorageContext -StorageAccountName mystorageaccount -StorageAccountKey (Get-AzureStorageKey -StorageAccountName mystorageaccount).Primary
New-AzureStorageContainer -Name myContainer -Context $context
New-AzureStorageContainerSASToken -Name myContainer -Permission rwdl -FullUri -Context $context

B. Habilitación de la copia de seguridad administrada de SQL Server en Azure

En el ejemplo siguiente se habilita la copia de seguridad administrada de SQL Server en Microsoft Azure para la instancia de SQL Server en la que se ejecuta, se establece la directiva de retención en 30 días y se establece el destino en un contenedor denominado myContainer en una cuenta de almacenamiento denominada mystorageaccount.

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 1,
    @container_url = 'https://mystorageaccount.blob.core.windows.net/myContainer',
    @retention_days = 30;
GO

C. Deshabilitación de la copia de seguridad administrada de SQL Server en Azure

En el ejemplo siguiente se deshabilita la copia de seguridad administrada de SQL Server en Microsoft Azure para la instancia de SQL Server en la que se ejecuta.

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO