Enable Stretch Database for a databaseEnable Stretch Database for a database

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per configurare un database esistente per Stretch Database, selezionare Attività | Stretch | Abilita per un database in SQL Server Management Studio in modo da aprire la procedura guidata Abilitare il database per 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. È anche possibile usare Transact-SQL per abilitare Stretch Database in un database.You can also use Transact-SQL to enable Stretch Database for a database.

Se si seleziona Attività | Stretch | Abilita per una tabella e il database non è ancora abilitato per Stretch Database, la procedura guidata consente di configurare il database per Stretch Database e di configurare le tabelle come parte del 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. Seguire la procedura in questo argomento anziché i passaggi descritti in Enable Stretch Database for a table.Follow the steps in this topic instead of the steps in Enable Stretch Database for a table.

L'abilitazione di Stretch Database in un database o una tabella richiede autorizzazioni db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. L'abilitazione di Stretch Database in un database richiede anche le autorizzazioni CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

Nota

Se successivamente si disabilita Stretch Database, tenere presente che questa operazione per una tabella o per un database non elimina l'oggetto 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 si vuole eliminare la tabella remota o il database remoto, è necessario eliminarlo tramite il portale di gestione di Azure.If you want to delete the remote table or the remote database, you have to drop it by using the Azure management portal. Gli oggetti remoti continuano a generare costi di Azure fino a quando non vengono eliminati manualmente.The remote objects continue to incur Azure costs until you delete them manually.

Prima di iniziareBefore you get started

        </a> Prerequisito: abilitare Stretch Database nel server</span><span class="sxs-lookup"><span data-stu-id="5906b-121"><a name="EnableTSQLServer"></a> Prerequisite: Enable Stretch Database on the server</span></span>  

Prima di abilitare Stretch Database in un database o una tabella, è necessario abilitarlo nel server locale.Before you can enable Stretch Database on a database or a table, you have to enable it on the local server. Questa operazione richiede le autorizzazioni sysadmin o serveradmin.This operation requires sysadmin or serveradmin permissions.

  • Se si dispone delle autorizzazioni amministrative necessarie, la procedura guidata Abilitare il database per l'estensione configura il server per Estensione.If you have the required administrative permissions, the Enable Database for Stretch wizard configures the server for Stretch .

  • Se non si dispone delle autorizzazioni necessarie, l'amministratore deve abilitare l'opzione manualmente eseguendo sp_configure prima che venga avviata la procedura guidata o deve eseguire la procedura guidata.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.

    Per abilitare manualmente Stretch Database nel server, eseguire sp_configure e attivare l'opzione remote data archive .To enable Stretch Database on the server manually, run sp_configure and turn on the remote data archive option. L'esempio seguente abilita l'opzione remote data archive impostandone il valore su 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  

Per altre informazioni, vedere Configure the remote data archive Server Configuration Option (Configurare l'opzione di configurazione remote data archive) e sp_configure (Transact-SQL).For more info, see Configure the remote data archive Server Configuration Option and sp_configure (Transact-SQL).

        </a> Usare la procedura guidata per abilitare Stretch Database in un database</span><span class="sxs-lookup"><span data-stu-id="5906b-129"><a name="Wizard"></a> Use the wizard to enable Stretch Database on a database</span></span>  

Per informazioni sulla procedura guidata Abilitare il database per l'estensione e sulle informazioni da immettere e le scelte da compiere, vedere Get started by running the Enable Database for Stretch Wizard(Iniziare eseguendo la procedura guidata Abilitare il database per l'estensione).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.

        </a> Usare Transact-SQL per abilitare Stretch Database in un database</span><span class="sxs-lookup"><span data-stu-id="5906b-131"><a name="EnableTSQLDatabase"></a> Use Transact-SQL to enable Stretch Database on a database</span></span>  

Prima di abilitare Stretch Database nelle singole tabelle, è necessario abilitarlo nel database.Before you can enable Stretch Database on individual tables, you have to enable it on the database.

L'abilitazione di Stretch Database in un database o una tabella richiede autorizzazioni db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. L'abilitazione di Stretch Database in un database richiede anche le autorizzazioni CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

  1. Prima di iniziare, scegliere un server di Azure esistente per i dati di cui Stretch Database esegue la migrazione o creare un nuovo server di Azure.Before you begin, choose an existing Azure server for the data that Stretch Database migrates, or create a new Azure server.

  2. Nel server di Azure, creare una regola del firewall con l'intervallo di indirizzi IP di SQL Server che permette la comunicazione tra SQL Server e il server 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.

    Per trovare facilmente i valori necessari e creare la regola del firewall, provare a connettersi al server di Azure da Esplora oggetti in SQL Server Management Studio (SSMS).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). SQL Server Management Studio consente di creare la regola aprendo la finestra di dialogo seguente, che include già i valori dell'indirizzo IP richiesti.SSMS helps you to create the rule by opening the following dialog box which already includes the required IP address values.

    Regola del firewall per l'estensione

  3. Per configurare un database di SQL Server per Stretch Database, il database deve avere una chiave master del database.To configure a SQL Server database for Stretch Database, the database has to have a database master key. La chiave master del database consente di proteggere le credenziali usate da Stretch Database per la connessione al database remoto.The database master key secures the credentials that Stretch Database uses to connect to the remote database. L'esempio che segue crea una nuova chiave master del database.Here's an example that creates a new database master key.

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

    Per altre informazioni sulla chiave master del database, vedere CREATE MASTER KEY (Transact-SQL) e Creazione della chiave master di un database.For more info about the database master key, see CREATE MASTER KEY (Transact-SQL) and Create a Database Master Key.

  4. Quando si configura un database per Stretch Database, è necessario specificare le credenziali che Stretch Database deve usare per la comunicazione tra SQL Server locale e il server Azure remoto.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. Sono disponibili due opzioni.You have two options.

    • È possibile fornire le credenziali amministratore.You can provide an administrator credential.

      • Se si abilita Stretch Database con la procedura guidata, è possibile creare le credenziali in quel momento.If you enable Stretch Database by running the wizard, you can create the credential at that time.

      • Se si abilita Stretch Database eseguendo ALTER DATABASE, è necessario creare manualmente le credenziali prima di eseguire ALTER DATABASE per abilitare 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.

      L'esempio che segue crea una nuova credenziale.Here's an example that creates a new credential.

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

      Per altre informazioni sulla credenziale, vedere CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).For more info about the credential, see CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). Per la creazione delle credenziali, è necessaria l'autorizzazione ALTER ANY CREDENTIAL.Creating the credential requires ALTER ANY CREDENTIAL permissions.

    • È possibile usare un account del servizio federato per SQL Server per comunicare con il server remoto di Azure quando vengono soddisfatte le condizioni seguenti.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.

      • L'account del servizio usato per l'esecuzione dell'istanza di SQL Server è un account di dominio.The service account under which the instance of SQL Server is running is a domain account.

      • L'account di dominio appartiene a un dominio il cui Active Directory è federato con Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.

      • Il server Azure remoto è configurato per supportare l'autenticazione di Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.

      • L'account del servizio in cui è in esecuzione l'istanza di SQL Server deve essere configurato come account dbmanager o sysadmin nel server remoto di 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. Per configurare un database per Stretch Database, eseguire il comando ALTER DATABASE.To configure a database for Stretch Database, run the ALTER DATABASE command.

    1. Per l'argomento SERVER, specificare il nome di un server di Azure esistente, inclusa la parte del nome .database.windows.net , ad esempio 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. Fornire le credenziali di amministratore esistenti con l'argomento CREDENTIAL o specificare FEDERATED_SERVICE_ACCOUNT = ON.Provide an existing administrator credential with the CREDENTIAL argument, or specify FEDERATED_SERVICE_ACCOUNT = ON. L'esempio seguente fornisce credenziali esistenti.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
    

Passaggi successiviNext steps

Vedere ancheSee Also

Identificare i database e le tabelle per Estensione database eseguendo Stretch Database Advisor Identify databases and tables for Stretch Database by running Stretch Database Advisor
Opzioni ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)