Enable Stretch Database for a databaseEnable Stretch Database for a database

SE APLICA A: síSQL Server (solo en Windows a partir de 2016) noAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelosAPPLIES TO: yesSQL Server (Windows only starting with 2016) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Si quiere configurar una base de datos de Stretch Database, seleccione Tareas | Stretch | Habilitar en una base de datos de SQL Server Management Studio a fin de abrir el asistente Habilitar base de datos 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. También puede utilizar Transact-SQL a fin de habilitar Stretch Database para una base de datos.You can also use Transact-SQL to enable Stretch Database for a database.

Si selecciona Tareas | Stretch | Habilitar para una tabla individual y aún no se ha habilitado la base de datos para Stretch Database, el asistente configura la base de datos para Stretch Database y le permite seleccionar tablas como parte del proceso.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 los pasos de este artículo, en lugar de los pasos descritos en Enable Stretch Database for a table (Habilitar Stretch Database para una tabla).Follow the steps in this article instead of the steps in Enable Stretch Database for a table.

Para habilitar Stretch Database en una base de datos o tabla, se requieren permisos db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. Además, si se desea habilitar Stretch Database en una base de datos, se requieren permisos CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

Nota

Posteriormente, si deshabilita Stretch Database, recuerde que al deshabilitar Stretch Database para una tabla o una base de datos no se elimina el 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. Si quiere eliminar la tabla o la base de datos remotas, tiene que quitarlas mediante el Portal de administración de Azure.If you want to delete the remote table or the remote database, you have to drop it by using the Azure management portal. Los objetos remotos siguen acumulando gastos de Azure hasta que se eliminan manualmente.The remote objects continue to incur Azure costs until you delete them manually.

Antes de comenzarBefore you get started

  • Antes de configurar una base de datos para Stretch, se recomienda ejecutar el Asesor de Stretch Database con el objetivo de identificar las bases de datos y las tablas aptas para 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. El Asesor de Stretch Database también detecta problemas de bloqueo.The Stretch Database Advisor also identifies blocking issues. Para obtener más información, vea Identificar bases de datos y tablas para Stretch Database al ejecutar el Asesor de Stretch Database.For more info, see Identify databases and tables for Stretch Database by running Stretch Database Advisor.

  • Consulte Limitaciones de Stretch Database.Review Limitations for Stretch Database.

  • Stretch Database migra los datos a Azure.Stretch Database migrates data to Azure . Por lo tanto, necesita una cuenta de Azure y una suscripción para la facturación.Therefore you have to have an Azure account and a subscription for billing. Para obtener una cuenta de Azure, haga clic aquí.To get an Azure account, click here.

  • Disponga de la información de conexión e inicio de sesión que necesita para crear un nuevo servidor de Azure o para seleccionar un servidor existente de Azure.Have the connection and login info you need to create a new Azure server or to select an existing Azure server.

Requisito previo: habilitar Stretch Database en el servidorPrerequisite: Enable Stretch Database on the server

Antes de poder habilitar Stretch Database en una base de datos o una tabla, tendrá que hacerlo en el servidor local.Before you can enable Stretch Database on a database or a table, you have to enable it on the local server. Esta operación requiere permisos sysadmin o serveradmin.This operation requires sysadmin or serveradmin permissions.

  • Si tiene los permisos administrativos necesarios, el asistente Habilitar base de datos para Stretch configurará el servidor para Stretch.If you have the required administrative permissions, the Enable Database for Stretch wizard configures the server for Stretch .

  • Si no dispone de los permisos necesarios, un administrador tendrá que habilitar la opción manualmente mediante la ejecución de sp_configure antes de usar el asistente, o bien el propio administrador tendrá que ejecutar el asistente.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 Stretch Database en el servidor manualmente, ejecute sp_configure y active la opción Archivo de datos remotos .To enable Stretch Database on the server manually, run sp_configure and turn on the remote data archive option. En el ejemplo siguiente se habilita la opción remote data archive estableciendo su valor en 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 obtener más información, vea Configure the remote data archive Server Configuration Option (Configuración de la opción de configuración del servidor Archivo de datos remotos) y sp_configure (Transact-SQL).For more info, see Configure the remote data archive Server Configuration Option and sp_configure (Transact-SQL).

Uso del Asistente para habilitar Stretch Database en una base de datosUse the wizard to enable Stretch Database on a database

Para obtener información sobre el asistente Habilitar base de datos para Stretch, incluidos los datos que se deben especificar y las decisiones que hay que tomar, vea Get started by running the Enable Database for Stretch Wizard (Introducción mediante la ejecución del Asistente para Habilitar base de datos 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.

Uso de Transact-SQL para habilitar Stretch Database en una base de datosUse Transact-SQL to enable Stretch Database on a database

Antes de habilitar Stretch Database en tablas individuales, debe habilitarlo en la base de datos.Before you can enable Stretch Database on individual tables, you have to enable it on the database.

Para habilitar Stretch Database en una base de datos o tabla, se requieren permisos db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. Además, si se desea habilitar Stretch Database en una base de datos, se requieren permisos CONTROL DATABASE.Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

  1. Antes de comenzar, elija un servidor de Azure existente para los datos que migra Stretch Database o cree un servidor nuevo de Azure.Before you begin, choose an existing Azure server for the data that Stretch Database migrates, or create a new Azure server.

  2. En el servidor de Azure, cree una regla de firewall con el rango de direcciones IP del servidor de SQL Server que permite que SQL Server se comunique con el 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.

    Puede encontrar fácilmente los valores que necesita y crear la regla de firewall intentando conectarse al servidor de Azure desde el Explorador de objetos en 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). SSMS le ayuda a crear la regla abriendo el siguiente cuadro de diálogo, que ya incluye los valores de dirección IP necesarios.SSMS helps you to create the rule by opening the following dialog box which already includes the required IP address values.

    Regla de firewall para Stretch

  3. Si desea configurar una base de datos de SQL Server para Stretch Database, esta debe disponer de una clave maestra de base de datos.To configure a SQL Server database for Stretch Database, the database has to have a database master key. Dicha clave protege las credenciales que Stretch Database utiliza para conectarse a la base de datos remota.The database master key secures the credentials that Stretch Database uses to connect to the remote database. Este es un ejemplo que crea una nueva clave maestra de base de datos.Here's an example that creates a new database master key.

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

    Para obtener más información sobre la clave maestra de base de datos, vea CREATE MASTER KEY (Transact-SQL) y Crear la clave maestra de una base de datos.For more info about the database master key, see CREATE MASTER KEY (Transact-SQL) and Create a Database Master Key.

  4. Cuando configure una base de datos para Stretch Database, tendrá que proporcionar unas credenciales que Stretch Database utilizará a fin de establecer la comunicación entre el servidor SQL Server local y el servidor remoto de 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. Tiene dos opciones.You have two options.

    • Puede especificar unas credenciales de administrador.You can provide an administrator credential.

      • Si habilita Stretch Database ejecutando el asistente, puede crear las credenciales entonces.If you enable Stretch Database by running the wizard, you can create the credential at that time.

      • Si piensa habilitar Stretch Database mediante la ejecución de ALTER DATABASE, tendrá que crear las credenciales manualmente antes de ejecutar ALTER DATABASE para habilitar 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.

      Este es un ejemplo que crea una nueva 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 obtener más información sobre la credencial, vea CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).For more info about the credential, see CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). Para crear las credenciales, necesitará permisos ALTER ANY CREDENTIAL.Creating the credential requires ALTER ANY CREDENTIAL permissions.

    • Puede usar una cuenta de servicio federado para que el servidor SQL Server se comunique con el servidor remoto de Azure cuando se cumplen las siguientes condiciones.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.

      • La cuenta de servicio con la que se está ejecutando la instancia de SQL Server es una cuenta de dominio.The service account under which the instance of SQL Server is running is a domain account.

      • La cuenta de dominio pertenece a un dominio cuyo Active Directory está federado con Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.

      • El servidor remoto de Azure está configurado para admitir la autenticación de Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.

      • La cuenta de servicio con la que se ejecuta la instancia de SQL Server debe configurarse como una cuenta dbmanager o sysadmin en el servidor remoto de 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. Si desea configurar una base de datos para Stretch Database, ejecute el comando ALTER DATABASE.To configure a database for Stretch Database, run the ALTER DATABASE command.

    1. En lo que respecta al argumento SERVER, especifique el nombre de un servidor de Azure existente, incluida la parte .database.windows.net del nombre, por ejemplo, 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. Proporcione unas credenciales de administrador existentes con el argumento de CREDENTIAL o especifique FEDERATED_SERVICE_ACCOUNT = ON.Provide an existing administrator credential with the CREDENTIAL argument, or specify FEDERATED_SERVICE_ACCOUNT = ON. En el ejemplo siguiente se indican unas credenciales existentes.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
    

Pasos siguientesNext steps

Consulte tambiénSee Also

Identificar bases de datos y tablas para Stretch Database al ejecutar el Asesor de Stretch Database Identify databases and tables for Stretch Database by running Stretch Database Advisor
Opciones de ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)