Désactiver Stretch Database et récupérer des données distantes

S’applique à : SQL Server 2016 (13.x) et versions ultérieures - Windows uniquement

Important

Stretch Database est déprécié dans SQL Server 2022 (16.x) et Azure SQL Database. Cette fonctionnalité sera supprimée dans une version future de moteur de base de données. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Vous pouvez utiliser Transact-SQL pour désactiver Stretch Database pour une table ou une base de données.

Une fois que vous avez désactivé Stretch Database pour une table, la migration des données s’arrête et les résultats de requête n’incluent plus les résultats de la table distante.

Si vous voulez interrompre la migration des données, consultez Suspension et reprise de la migration de données (Stretch Database).

Notes

La désactivation de Stretch Database pour une table ou une base de données ne supprime pas l'objet distant. Si vous souhaitez supprimer la table distante ou la base de données distante, vous devez la supprimer à l'aide du portail de gestion Azure. Les objets distants continuent d’entraîner des coûts Azure tant qu’ils n’ont pas été supprimés. Pour plus d'informations, consultez la rubrique Tarification de SQL Server Stretch Database.

Désactiver Stretch Database pour une table

Utiliser Transact-SQL

  • Pour désactiver Stretch Database pour une table et copier les données distantes de la table à partir d’Azure vers SQL Server, exécutez la commande suivante. Une fois que toutes les données distantes ont été copiées d'Azure vers SQL Server, Stretch est désactivée pour la table.

    Cette commande ne peut pas être annulée.

    USE [<Stretch-enabled database name>];
    GO
    ALTER TABLE [<Stretch-enabled table name>]
       SET ( REMOTE_DATA_ARCHIVE ( MIGRATION_STATE = INBOUND ) );
    GO
    

    La copie des données distantes pour la table d'Azure vers SQL Server entraîne des coûts de transfert de données. Pour plus d'informations, consultez la rubrique Détails de la tarification des transferts de données.

  • Pour désactiver Stretch pour une table et abandonner les données distantes, exécutez la commande suivante.

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

    La désactivation de Stretch Database pour une table ne supprime pas l'objet distant ou la table distante. Si vous souhaitez supprimer la table distante, vous devez la supprimer à l'aide du portail de gestion Azure. La table distante continue d’entraîner des coûts Azure tant qu’elle n’a pas été supprimée. Pour plus d'informations, consultez la rubrique Tarification de SQL Server Stretch Database.

Désactiver Stretch Database pour une base de données

Avant de pouvoir désactiver Stretch Database pour une base de données, vous devez désactiver Stretch Database sur les tables Stretch individuelles dans la base de données.

Utiliser Transact-SQL

Exécutez la commande ci-dessous.

ALTER DATABASE [<Stretch-enabled database name>]
    SET REMOTE_DATA_ARCHIVE = OFF;
GO

La désactivation de Stretch Database pour une base de données ne supprime pas la base de données distante. Si vous souhaitez supprimer la base de données distante, vous devez le faire à l’aide du portail de gestion Azure. La base de données distante continue d’entraîner des coûts Azure tant qu’elle n’a pas été supprimée. Pour plus d'informations, consultez la rubrique Tarification de SQL Server Stretch Database.

Voir aussi