Enable Stretch Database for a tableEnable Stretch Database for a table

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

Si quiere configurar una tabla para Stretch Database, seleccione Stretch | Habilitar para una tabla de SQL Server Management Studio para el asistente Habilitar la tabla para Stretch.To configure a table for Stretch Database, select Stretch | Enable for a table in SQL Server Management Studio to open the Enable Table for Stretch wizard. También puede utilizar Transact-SQL para habilitar Stretch Database en una tabla existente o crear una tabla nueva con Stretch Database habilitado.You can also use Transact-SQL to enable Stretch Database on an existing table, or to create a new table with Stretch Database enabled.

  • Si los datos inactivos están almacenados en otra tabla, puede migrarla entera.If you store cold data in a separate table, you can migrate the entire table.

  • Si la tabla contiene datos activos e inactivos, puede especificar una función de filtro para seleccionar las filas que se migrarán.If your table contains both hot and cold data, you can specify a filter function to select the rows to migrate.

Requisitos previos.Prerequisites. Si selecciona Stretch | Habilitar para una tabla y aún no se ha habilitado Stretch Database para la base de datos, el asistente configura primero la base de datos para Stretch Database.If you select Stretch | Enable for a table, and you have not yet enabled Stretch Database for the database, the wizard first configures the database for Stretch Database. Siga los pasos de Introducción mediante la ejecución del Asistente para Habilitar base de datos para Stretch en lugar de los pasos de este artículo.Follow the steps in Get started by running the Enable Database for Stretch Wizard instead of the steps in this article.

Permisos.Permissions. 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, para habilitar Stretch Database en una tabla, también se requieren permisos ALTER en la tabla.Enabling Stretch Database on a table also requires ALTER permissions on the table.

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.

Uso del asistente para habilitar Stretch Database en una tablaUse the wizard to enable Stretch Database on a table

Inicio del asistenteLaunch the wizard

  1. En SQL Server Management Studio, en el Explorador de objetos, seleccione la tabla en la que desea habilitar Stretch.In SQL Server Management Studio, in Object Explorer, select the table on which you want to enable Stretch.

  2. Haga clic con el botón derecho y seleccione Stretchy, después, seleccione Habilitar para iniciar el asistente.Right-click and select Stretch, and then select Enable to launch the wizard.

IntroducciónIntroduction
Consulte la finalidad del asistente y los requisitos previos.Review the purpose of the wizard and the prerequisites.

Selección de las tablas de base de datosSelect database tables
Confirme que la tabla que desea habilitar se muestra y está seleccionada.Confirm that the table you want to enable is displayed and selected.

Puede migrar toda una tabla o especificar una función de filtro simple en el asistente.You can migrate an entire table or you can specify a simple filter function in the wizard. Si quiere usar un tipo de función de filtro diferente para seleccionar las filas que va a migrar, realice una de las siguientes acciones.If you want to use a different type of filter function to select rows to migrate, do one of the following things.

  • Salga del asistente y ejecute la instrucción ALTER TABLE para habilitar Stretch para la tabla y especificar una función de filtro.Exit the wizard and run the ALTER TABLE statement to enable Stretch for the table and to specify a filter function.

  • Ejecute la instrucción ALTER TABLE para especificar una función de filtro después de salir del asistente.Run the ALTER TABLE statement to specify a filter function after you exit the wizard. Para conocer los pasos necesarios, vea Agregar una función de filtro después de ejecutar el asistente.For the required steps, see Add a filter function after running the Wizard.

La sintaxis de ALTER TABLE se describe más adelante en este artículo.The ALTER TABLE syntax is described later in this article.

ResumenSummary
Revise los valores especificados y las opciones seleccionadas en el asistente.Review the values that you entered and the options that you selected in the wizard. Después, seleccione Finalizar para habilitar Stretch.Then select Finish to enable Stretch.

ResultadoResults
Consulte los resultados.Review the results.

Uso de Transact-SQL para habilitar Stretch Database en una tablaUse Transact-SQL to enable Stretch Database on a table

Puede utilizar Transact-SQL para habilitar Stretch Database en una tabla existente o crear una tabla nueva con Stretch Database habilitado.You can enable Stretch Database for an existing table or create a new table with Stretch Database enabled by using Transact-SQL.

OpcionesOptions

Utilice las siguientes opciones al ejecutar CREATE TABLE o ALTER TABLE para habilitar Stretch Database en una tabla.Use the following options when you run CREATE TABLE or ALTER TABLE to enable Stretch Database on a table.

  • Si la tabla contiene datos activos e inactivos, puede usar opcionalmente la cláusula FILTER_PREDICATE = <function> para especificar una función y seleccionar las filas que se migrarán.Optionally, use the FILTER_PREDICATE = <function> clause to specify a function to select rows to migrate if the table contains both hot and cold data. El predicado debe llamar a una función con valores de tabla insertada.The predicate must call an inline table-valued function. Para obtener más información, vea Select rows to migrate by using a filter function (Seleccionar las filas que se van a migrar mediante una función de filtro).For more info, see Select rows to migrate by using a filter function. Si no se especifica una función de filtro, se migrará toda la tabla.If you don't specify a filter function, the entire table is migrated.

    Importante

    Si se indica una función de filtro que tiene un rendimiento bajo, la migración de datos también tendrá un rendimiento bajo.If you provide a filter function that performs poorly, data migration also performs poorly. Stretch Database aplica la función de filtro a la tabla por medio del operador CROSS APPLY.Stretch Database applies the filter function to the table by using the CROSS APPLY operator.

  • Especifique MIGRATION_STATE = OUTBOUND para iniciar la migración de datos de inmediato o MIGRATION_STATE = PAUSED si desea posponer el inicio de la migración.Specify MIGRATION_STATE = OUTBOUND to start data migration immediately or MIGRATION_STATE = PAUSED to postpone the start of data migration.

Habilitar Stretch Database para una tabla existenteEnable Stretch Database for an existing table

Si desea configurar una tabla para Stretch Database, ejecute el comando ALTER TABLE.To configure an existing table for Stretch Database, run the ALTER TABLE command.

En el ejemplo siguiente se migra toda la tabla y la migración de datos se inicia de inmediato.Here's an example that migrates the entire table and begins data migration immediately.

USE <Stretch-enabled database name>;
GO
ALTER TABLE <table name>  
    SET ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) ) ;  
GO

En el ejemplo siguiente solo se migran las filas identificadas con la función con valores de tabla insertada dbo.fn_stretchpredicate y se pospone la migración de datos.Here's an example that migrates only the rows identified by the dbo.fn_stretchpredicate inline table-valued function and postpones data migration. Para obtener más información sobre la función de filtro, vea Select rows to migrate by using a filter function (Seleccionar las filas que se van a migrar mediante una función de filtro).For more info about the filter function, see Select rows to migrate by using a filter function.

USE <Stretch-enabled database name>;
GO
ALTER TABLE <table name>  
    SET ( REMOTE_DATA_ARCHIVE = ON (  
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),  
        MIGRATION_STATE = PAUSED ) ) ;  
 GO

Para obtener más información, vea ALTER TABLE (Transact-SQL).For more info, see ALTER TABLE (Transact-SQL).

Crear una nueva tabla con Stretch Database habilitadoCreate a new table with Stretch Database enabled

Para crear una nueva tabla con Stretch Database habilitado, ejecute el comando CREATE TABLE.To create a new table with Stretch Database enabled, run the CREATE TABLE command.

En el ejemplo siguiente se migra toda la tabla y la migración de datos se inicia de inmediato.Here's an example that migrates the entire table and begins data migration immediately.

USE <Stretch-enabled database name>;
GO
CREATE TABLE <table name>
    ( ... )  
    WITH ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) ) ;  
GO

En el ejemplo siguiente solo se migran las filas identificadas con la función con valores de tabla insertada dbo.fn_stretchpredicate y se pospone la migración de datos.Here's an example that migrates only the rows identified by the dbo.fn_stretchpredicate inline table-valued function and postpones data migration. Para obtener más información sobre la función de filtro, vea Select rows to migrate by using a filter function (Seleccionar las filas que se van a migrar mediante una función de filtro).For more info about the filter function, see Select rows to migrate by using a filter function.

USE <Stretch-enabled database name>;
GO
CREATE TABLE <table name> 
    ( ... )  
    WITH ( REMOTE_DATA_ARCHIVE = ON (  
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),  
        MIGRATION_STATE = PAUSED ) ) ;  
GO  

Para obtener más información, vea CREATE TABLE (Transact-SQL).For more info, see CREATE TABLE (Transact-SQL).

Consulte tambiénSee Also

ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)