Partilhar via


managed_backup.sp_backup_config_basic (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Define as configurações básicas do backup gerenciado do SQL Server para o Microsoft Azure para um banco de dados específico ou para uma instância do SQL Server.

Observação

Esse procedimento pode ser chamado sozinho para criar uma configuração básica de backup gerenciado. No entanto, se você planeja adicionar recursos avançados ou um agendamento personalizado, defina essas configurações usando managed_backup.sp_backup_config_advanced e managed_backup.sp_backup_config_schedule, antes de habilitar o backup gerenciado com este procedimento.

Convenções de sintaxe de Transact-SQL

Sintaxe

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 ou desabilite o backup gerenciado do SQL Server no Microsoft Azure para o banco de dados especificado. @enable_backup é pouco.

Parâmetro obrigatório ao configurar o backup gerenciado do SQL Server no Microsoft Azure para a primeira instância do SQL Server. Se você estiver alterando uma configuração existente de backup gerenciado do SQL Server para o Microsoft Azure, esse parâmetro será opcional. Nesse caso, todos os valores de configuração não especificados mantêm seus valores existentes.

Para obter mais informações, consulte Habilitar backups gerenciados do SQL Server no Azure.

@database_name [ = ] 'database_name'

O nome do banco de dados para habilitar o backup gerenciado em um banco de dados específico.

Se @database_name estiver definido como NULL, as configurações estarão no nível da instância (aplica-se a todos os novos bancos de dados criados na instância).

@container_url [ = ] 'Azure_Storage_blob_container'

Uma URL que indica o local do backup. Quando @credential_name é NULL, essa URL é uma URL SAS (assinatura de acesso compartilhado) para um contêiner de blob no Armazenamento do Azure e os backups usam o novo backup para bloquear a funcionalidade de blob. Para obter mais informações, consulte Noções básicas sobre SAS. Quando @credential_name é especificado, essa é uma URL de conta de armazenamento e os backups usam a funcionalidade de backup preterida para blob de páginas.

Se a URL SAS tiver o token SAS incluído, você deverá separá-lo do token SAS no ponto de interrogação e não incluir o ponto de interrogação.

Por exemplo, 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 resulta nos dois valores a seguir:

Tipo Saída
URL do Contêiner https://managedbackupstorage.blob.core.windows.net/backupcontainer
Token SAS sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

Observação

No momento, há suporte apenas para uma URL SAS para esse parâmetro.

@retention_days [ = ] retention_period_in_days

O período de retenção para os arquivos de backup em dias. @retention_days é int. Esse é um parâmetro necessário ao configurar o backup gerenciado do SQL Server no Microsoft Azure pela primeira vez na instância do SQL Server. Quando você altera a configuração do backup gerenciado do SQL Server para o Microsoft Azure, esse parâmetro é opcional. Se não for especificado, os valores de configuração existentes serão retidos.

@credential_name [ = ] 'sql_credential_name'

O nome da credencial SQL usada para autenticar na conta de armazenamento do Azure. @credential_name é sysname. Quando especificado, o backup é armazenado em um blob de páginas. Se esse parâmetro for NULL, o backup será armazenado como um blob de blocos. O backup no blob de páginas foi preterido, portanto, é preferível usar a nova funcionalidade de backup de blob de blocos. Quando usado para alterar a configuração do backup gerenciado do SQL Server para o Microsoft Azure, esse parâmetro é opcional. Se não for especificado, os valores de configuração existentes serão mantidos.

Aviso

Não há suporte para o parâmetro @credential_name no momento. Há suporte apenas para backup em blob de blocos, o que requer que esse parâmetro seja NULL.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Permissões

Requer associação na função de banco de dados db_backupoperator , com permissões ALTER ANY CREDENTIAL e permissões EXECUTE no sp_delete_backuphistory procedimento armazenado.

Exemplos

R. Criar contêiner de conta de armazenamento e URL SAS

Você pode criar o contêiner da conta de armazenamento e a URL da SAS (assinatura de acesso compartilhado) usando os comandos mais recentes do Azure PowerShell. O exemplo a seguir cria um novo contêiner myContainer na conta de armazenamento e, em mystorageaccount seguida, obtém uma URL SAS para ele com permissões completas.

Para obter mais informações sobre assinaturas de acesso compartilhado, confira Conceder acesso limitado a recursos de Armazenamento do Azure usando SAS (assinaturas de acesso compartilhado). Para obter um exemplo de script do PowerShell, consulte Criar uma assinatura de acesso compartilhado.

$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. Habilitar o Backup Gerenciado do SQL Server no Azure

O exemplo a seguir habilita o backup gerenciado do SQL Server no Microsoft Azure para a instância do SQL Server em que ele é executado, define a política de retenção como 30 dias e define o destino como um contêiner nomeado myContainer em uma conta de armazenamento chamada 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. Desabilitar o Backup gerenciado do SQL Server no Azure

O exemplo a seguir desabilita o backup gerenciado do SQL Server no Microsoft Azure para a instância do SQL Server em que ele é executado.

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO