Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores – Somente Windows
Importante
O banco de dados de ampliação foi preterido no SQL Server 2022 (16.x) e no Banco de Dados SQL do Azure. Esse recurso será removido em uma versão futura do mecanismo de banco de dados. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.
Para configurar um banco de dados para o Stretch Database, selecione Tarefas > Stretch > Habilitar para um banco de dados no SQL Server Management Studio a fim de abrir o assistente Habilitar Banco de Dados para Stretch. Você também pode usar o Transact-SQL de modo a habilitar o Stretch Database para um banco de dados.
Se você selecionar Tarefas > Stretch > Habilitar para uma tabela individual e ainda não tiver habilitado o banco de dados para o Stretch Database, o assistente configurará o banco de dados para o Stretch Database e permitirá que você selecione tabelas como parte do processo. Siga as etapas deste artigo em vez das etapas em Habilitar o Stretch Database para uma tabela.
A habilitação do Stretch Database em um banco de dados ou em uma tabela requer permissões db_owner. Habilitar o Stretch Database em um banco de dados também requer permissões CONTROL DATABASE .
Observação
Mais tarde, se você desabilitar o Stretch Database, lembre-se de que desabilitar uma tabela ou um banco de dados do Stretch Database não excluirá o objeto remoto. Se você quiser excluir a tabela remota ou o banco de dados remoto, descarte-o(a) usando o Portal de Gerenciamento do Azure. Os objetos remotos continuam incorrendo em custos do Azure até que você os exclua manualmente.
Antes de começar
O Stretch Database migra dados para o Azure, portanto, você precisa de uma conta do Azure e uma assinatura para cobrança. Inscreva-se para obter uma conta do Azure.
Ter as informações de conexão e o logon necessárias para criar um novo servidor do Azure ou para selecionar um servidor do Azure existente.
Pré-requisito: habilitar Stretch Database no servidor
Para que seja possível habilitar o Stretch Database em um banco de dados ou em uma tabela, você precisa habilitá-lo no servidor local. Essa operação requer permissões sysadmin ou serveradmin.
Se você tiver as permissões administrativas necessárias, o assistente Habilitar o Banco de Dados para Stretch vai configurar o servidor para o Stretch Database.
Se você não tiver as permissões necessárias, um administrador deverá habilitar a opção manualmente executando
sp_configureantes de você executar o assistente, ou um administrador deverá executar o assistente.
Para habilitar o Stretch Database no servidor manualmente, execute sp_configure e ative a opção remover arquivo de dados . O exemplo a seguir habilita a opção remote data archive definindo seu valor para 1.
EXEC sp_configure 'remote data archive' , '1';
GO
RECONFIGURE;
GO
Para saber mais, confira Configurar a opção de configuração de servidor do arquivo de dados remoto e sp_configure (Transact-SQL).
Usar o assistente
Para obter informações sobre o Assistente Habilitar o Banco de Dados para Stretch, incluindo as informações que você tem que inserir e as escolhas que tem que fazer, confira Comece executando o Assistente para habilitar o banco de dados para Stretch.
Usar o Transact-SQL
Para que seja possível habilitar o Stretch Database em tabelas individuais, você precisa habilitá-lo no banco de dados.
A habilitação do Stretch Database em um banco de dados ou em uma tabela requer permissões db_owner. Habilitar o Stretch Database em um banco de dados também requer permissões CONTROL DATABASE .
Antes de começar, escolha um servidor do Azure existente para os dados que o Stretch Database migra, ou crie um novo servidor do Azure.
No servidor do Azure, crie uma regra de firewall com o endereço IP do SQL Server que permita ao SQL Server comunicar-se com o servidor remoto.
Você pode encontrar facilmente os valores necessários e criar a regra de firewall ao tentar se conectar ao servidor do Azure no Pesquisador de Objetos do SSMS (SQL Server Management Studio). O SSMS ajuda você a criar a regra, abrindo a caixa de diálogo a seguir, que já inclui os valores de endereços IP necessários.
Importante
O suporte ao Stretch Database é removido no SQL Server Management Studio v19. Para gerenciar o Stretch Database, você pode usar o SQL Server Management Studio v18.9.1 ou inferiores.
Para configurar um banco de dados do SQL Server para o Stretch Database, o banco de dados deve ter uma chave mestra de banco de dados. A chave mestra de banco de dados protege as credenciais usadas pelo Stretch Database para se conectar ao banco de dados remoto. O exemplo a seguir cria uma nova chave mestra de banco de dados.
USE <database>; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>'; GOPara obter mais informações sobre a chave mestra do banco de dados, consulte CREATE MASTER KEY (Transact-SQL) e crie uma chave mestra de banco de dados.
Quando você configurar um banco de dados para o Stretch Database, será preciso fornecer uma credencial para o Stretch Database usar na comunicação entre o SQL Server local e o servidor remoto do Azure. Você tem duas opções.
Pode fornecer uma credencial do administrador.
Se você habilitar o Stretch Database executando o assistente, será possível criar a credencial nesse momento.
Se você planeja habilitar o Stretch Database em execução ALTER DATABASE, precisará criar a credencial manualmente antes de executar ALTER DATABASE para habilitar o Stretch Database.
O exemplo a seguir cria uma nova credencial.
CREATE DATABASE SCOPED CREDENTIAL [<db_scoped_credential_name>] WITH IDENTITY = '<identity>' , SECRET = '<secret>'; GOPara obter mais informações sobre a credencial, consulte CREATE DATABASECREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). A criação da credencial requer permissões ALTER ANY CREDENTIAL .
Você pode usar uma conta de serviço federado para o SQL Server se comunicar com o servidor remoto do Azure quando todas as condições a seguir forem verdadeiras.
A conta do serviço na qual a instância do SQL Server está sendo executada é uma conta de domínio.
A conta de domínio pertence a um domínio cujo Active Directory é federado com o Microsoft Entra ID (antigo Azure Active Directory).
O servidor remoto do Azure está configurado para permitir a autenticação do Microsoft Entra.
A conta de serviço na qual a instância do SQL Server está sendo executada deve ser configurada como uma conta
dbmanagerousysadminno servidor remoto do Azure.
Para configurar um banco de dados para Stretch Database, execute o ALTER DATABASE comando.
Para o argumento SERVER, forneça o nome de um servidor existente do Azure, incluindo a parte
.database.windows.netdo nome; por exemplo,MyStretchDatabaseServer.database.windows.net.Forneça uma credencial de administrador existente com o CREDENTIAL argumento ou especifique FEDERATED_SERVICE_ACCOUNT = ON. O exemplo a seguir fornece uma credencial existente.
ALTER DATABASE [<database name>] SET REMOTE_DATA_ARCHIVE = ON ( SERVER = '<server_name>' , CREDENTIAL = [<db_scoped_credential_name>] ); GO
Próximas etapas
- Habilitar o Stretch Database para uma tabela
- Monitorar e solucionar problemas de migração de dados (Stretch Database)
- Pausar e retomar a migração de dados (Stretch Database)
- Gerenciar e solucionar problemas do Stretch Database
- Fazer backup de bancos de dados habilitados para Stretch
- Restaurar bancos de dados habilitados para Stretch