Enable Stretch Database for a databaseEnable Stretch Database for a database

APLICA-SE A: simSQL Server (Windows apenas de 2016 em diante) nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data WarehouseAPPLIES TO: yesSQL Server (Windows only starting with 2016) noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

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.To configure an existing database for Stretch Database, select Tasks | Stretch | Enable for a database in SQL Server Management Studio to open the Enable Database for Stretch wizard. Você também pode usar o Transact-SQL de modo a habilitar o Stretch Database para um banco de dados.You can also use Transact-SQL to enable Stretch Database for a database.

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 vai configurar o banco de dados para o Stretch Database e permitirá que você selecione tabelas como parte do processo.If you select Tasks | Stretch | Enable for an individual table, and you have not yet enabled the database for Stretch Database, the wizard configures the database for Stretch Database and lets you select tables as part of the process. Siga as etapas deste artigo em vez das etapas em Habilitar o Stretch Database para uma tabela.Follow the steps in this article instead of the steps in Enable Stretch Database for a table.

Habilitar o Stretch Database em um banco de dados ou uma tabela exige permissões db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. Habilitar o Stretch Database em um banco de dados também exige permissões CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

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.Later, if you disable Stretch Database, remember that disabling Stretch Database for a table or for a database does not delete the remote object. Se você quiser excluir a tabela remota ou o banco de dados remoto, descarte-o(a) usando o Portal de Gerenciamento do Azure.If you want to delete the remote table or the remote database, you have to drop it by using the Azure management portal. Os objetos remotos continuam incorrendo em custos do Azure até que você os exclua manualmente.The remote objects continue to incur Azure costs until you delete them manually.

Antes de começarBefore you get started

  • Antes de configurar um banco de dados para o Stretch, é recomendável executar o Supervisor do Stretch Database para identificar bancos de dados e tabelas qualificados para o Stretch.Before you configure a database for Stretch, we recommend that you run the Stretch Database Advisor to identify databases and tables that are eligible for Stretch. O Supervisor do Stretch Database também identifica problemas de bloqueio.The Stretch Database Advisor also identifies blocking issues. Para obter mais informações, veja Identificar bancos de dados e tabelas para o Stretch Database executando o supervisor do Stretch Database.For more info, see Identify databases and tables for Stretch Database by running Stretch Database Advisor.

  • Leia Limitações do Stretch Database.Review Limitations for Stretch Database.

  • O Stretch Database migra dados para o Azure.Stretch Database migrates data to Azure . Portanto, você precisa ter uma conta do Azure e uma assinatura para cobrança.Therefore you have to have an Azure account and a subscription for billing. Para obter uma conta do Azure, clique aqui.To get an Azure account, click here.

  • 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.Have the connection and login info you need to create a new Azure server or to select an existing Azure server.

Pré-requisito: Habilitar o Stretch Database no servidorPrerequisite: Enable Stretch Database on the server

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.Before you can enable Stretch Database on a database or a table, you have to enable it on the local server. Essa operação requer permissões sysadmin ou serveradmin.This operation requires sysadmin or serveradmin permissions.

  • 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.If you have the required administrative permissions, the Enable Database for Stretch wizard configures the server for Stretch .

  • Se você não tiver as permissões necessárias, um administrador deverá habilitar a opção manualmente executando sp_configure antes de executar o assistente ou um administrador terá que executar o assistente.If you don't have the required permissions, an administrator has to enable the option manually by running sp_configure before you run the wizard, or an administrator has to run the wizard.

Para habilitar o Stretch Database no servidor manualmente, execute sp_configure e ative a opção remover arquivo de dados .To enable Stretch Database on the server manually, run sp_configure and turn on the remote data archive option. O exemplo a seguir habilita a opção remote data archive definindo seu valor para 1.The following example enables the remote data archive option by setting its value to 1.

EXEC sp_configure 'remote data archive' , '1';  
GO

RECONFIGURE;  
GO  

Para obter mais informações, consulte Configurar a Opção de Configuração do Servidor de arquivo de dados remotos e sp_configure (Transact-SQL).For more info, see Configure the remote data archive Server Configuration Option and sp_configure (Transact-SQL).

Usar o assistente para habilitar o Stretch Database em um banco de dadosUse the wizard to enable Stretch Database on a database

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.For info about the Enable Database for Stretch Wizard, including the info that you have to enter and the choices that you have to make, see Get started by running the Enable Database for Stretch Wizard.

Usar o Transact-SQL para habilitar o Stretch Database em um banco de dadosUse Transact-SQL to enable Stretch Database on a database

Para que seja possível habilitar o Stretch Database em tabelas individuais, você precisa habilitá-lo no banco de dados.Before you can enable Stretch Database on individual tables, you have to enable it on the database.

Habilitar o Stretch Database em um banco de dados ou uma tabela exige permissões db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. Habilitar o Stretch Database em um banco de dados também exige permissões CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

  1. 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.Before you begin, choose an existing Azure server for the data that Stretch Database migrates, or create a new Azure server.

  2. No servidor do Azure, crie uma regra de firewall com o intervalo de endereços IP do SQL Server que permita ao SQL Server se comunicar com o servidor remoto.On the Azure server, create a firewall rule with the IP address range of the SQL Server that lets SQL Server communicate with the remote server.

    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).You can easily find the values you need and create the firewall rule by attempting to connect to the Azure server from Object Explorer in SQL Server Management Studio (SSMS). O SSMS o ajuda a criar a regra, abrindo a caixa de diálogo a seguir, que já inclui os valores de endereços IP necessários.SSMS helps you to create the rule by opening the following dialog box which already includes the required IP address values.

    Regra de firewall para o Stretch

  3. 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.To configure a SQL Server database for Stretch Database, the database has to have a database master key. A chave mestra de banco de dados protege as credenciais usadas pelo Stretch Database para se conectar ao banco de dados remoto.The database master key secures the credentials that Stretch Database uses to connect to the remote database. Aqui está um exemplo que cria uma nova chave mestra de banco de dados.Here's an example that creates a new database master key.

    USE <database>; 
    GO  
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>'; 
    GO
    

    Para obter mais informações sobre a chave mestra do banco de dados, veja CREATE MASTER KEY (Transact-SQL) e Criar uma chave mestra de banco de dados.For more info about the database master key, see CREATE MASTER KEY (Transact-SQL) and Create a Database Master Key.

  4. Quando você configura um banco de dados para o Stretch Database, é preciso fornecer uma credencial para o Stretch Database usar na comunicação entre o SQL Server local e o servidor remoto do Azure.When you configure a database for Stretch Database, you have to provide a credential for Stretch Database to use for communication between the on premises SQL Server and the remote Azure server. Você tem duas opções.You have two options.

    • É possível fornecer uma credencial administrativa.You can provide an administrator credential.

      • Se você habilitar o Stretch Database executando o assistente, será possível criar a credencial nesse momento.If you enable Stretch Database by running the wizard, you can create the credential at that time.

      • Se você planeja habilitar o Stretch Database executando ALTER DATABASE, será preciso criar a credencial manualmente antes de executar ALTER DATABASE para habilitar o Stretch Database.If you plan to enable Stretch Database by running ALTER DATABASE, you have to create the credential manually before you run ALTER DATABASE to enable Stretch Database.

      Aqui está um exemplo que cria uma nova credencial.Here's an example that creates a new credential.

      CREATE DATABASE SCOPED CREDENTIAL <db_scoped_credential_name>  
          WITH IDENTITY = '<identity>' , SECRET = '<secret>' ;
      GO   
      

      Para obter mais informações sobre as credenciais, consulte CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).For more info about the credential, see CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). A criação da credencial exige permissões ALTER ANY CREDENTIAL.Creating the credential requires ALTER ANY CREDENTIAL permissions.

    • 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.You can use a federated service account for the SQL Server to communicate with the remote Azure server when the following conditions are all true.

      • A conta do serviço na qual a instância do SQL Server está sendo executada é uma conta de domínio.The service account under which the instance of SQL Server is running is a domain account.

      • A conta de domínio pertence a um domínio cujo Active Directory é federado com o Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.

      • O servidor remoto do Azure está configurado para permitir a autenticação do Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.

      • A conta de serviço na qual a instância do SQL Server está sendo executada deve ser configurada como uma conta dbmanager ou sysadmin no servidor remoto do Azure.The service account under which the instance of SQL Server is running must be configured as a dbmanager or sysadmin account on the remote Azure server.

  5. Para configurar um banco de dados para o Stretch Database, execute o comando ALTER DATABASE.To configure a database for Stretch Database, run the ALTER DATABASE command.

    1. Para o argumento SERVER, forneça o nome de um servidor existente do Azure, incluindo a parte .database.windows.net do nome; por exemplo, MyStretchDatabaseServer.database.windows.net.For the SERVER argument, provide the name of an existing Azure server, including the .database.windows.net portion of the name - for example, MyStretchDatabaseServer.database.windows.net.

    2. Forneça uma credencial de administrador existente com o argumento CREDENTIAL ou especifique FEDERATED_SERVICE_ACCOUNT = ON.Provide an existing administrator credential with the CREDENTIAL argument, or specify FEDERATED_SERVICE_ACCOUNT = ON. O exemplo a seguir fornece uma credencial existente.The following example provides an existing credential.

    ALTER DATABASE <database name>  
        SET REMOTE_DATA_ARCHIVE = ON  
            (  
                SERVER = '<server_name>' ,  
                CREDENTIAL = <db_scoped_credential_name>  
            ) ;  
    GO
    

Próximas etapasNext steps

Consulte TambémSee Also

Identificar bancos de dados e tabelas para o Stretch Database executando o supervisor do Stretch Database Identify databases and tables for Stretch Database by running Stretch Database Advisor
Opções ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)