Enable Stretch Database for a database

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é.

Pour configurer une base de données existante pour Stretch Database, sélectionnez Tâches > Stretch > Activer pour une base de données dans SQL Server Management Studio afin d’ouvrir l’Assistant Activer la base de données pour Stretch. Vous pouvez également utiliser Transact-SQL pour activer Stretch Database pour une base de données.

Si vous sélectionnez Tâches > Stretch > Activer pour une table et que vous n’avez pas encore activé la base de données pour Stretch Database, l’Assistant configure la base de données pour Stretch Database et vous permet de sélectionner des tables dans le cadre du processus. Suivez les étapes décrites dans cet article au lieu de la procédure décrite dans Activer Stretch Database pour une table.

L’activation de Stretch Database sur une table ou une base de données nécessite les autorisations db_owner. L’activation de Stretch Database sur une base de données nécessite également des autorisations CONTROL DATABASE.

Notes

Ultérieurement, n’oubliez pas que 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 manuellement.

Avant de commencer

  • Consultez Limitations concernant Stretch Database.

  • Stretch Database migre les données vers Azure. Vous avez donc besoin d’un compte Azure et d’un abonnement pour la facturation. Créez un compte Azure.

  • Procurez-vous les informations de connexion nécessaires pour créer un serveur Azure ou pour sélectionner un serveur Azure existant.

Condition préalable : Activer Stretch Database sur le serveur

Avant de pouvoir activer Stretch Database sur une base de données ou une table, vous devez l’activer sur le serveur local. Cette opération nécessite des autorisations sysadmin ou serveradmin.

  • Si vous disposez des autorisations d’administration nécessaires, l’Assistant Activer la base de données pour Stretch configure le serveur pour Stretch Database.

  • Si vous n’avez pas les autorisations nécessaires, un administrateur doit activer l’option manuellement en exécutant sp_configure avant que vous exécutiez l’assistant, ou un administrateur doit exécuter lui-même l’assistant.

Pour activer Stretch Database sur le serveur manuellement, exécutez sp_configure et activez l’option Archive de données distante . L’exemple suivant active l’option remote data archive en définissant sa valeur sur 1.

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

RECONFIGURE;
GO

Pour plus d’informations, consultez Configurer l’option de configuration du serveur archive de données distante et sp_configure (Transact-SQL).

Utiliser l’Assistant

Pour plus d’informations sur l’Assistant Activer la base de données pour Stretch, notamment les informations que vous devez entrer et les choix que vous avez à effectuer, consultez Mise en route en exécutant l’Assistant Activer la base de données pour Stretch.

Utiliser Transact-SQL

Avant de pouvoir activer Stretch Database sur des tables individuelles, vous devez l’activer sur la base de données.

L’activation de Stretch Database sur une table ou une base de données nécessite les autorisations db_owner. L’activation de Stretch Database sur une base de données nécessite également des autorisations CONTROL DATABASE.

  1. Avant de commencer, choisissez un serveur Azure existant pour les données que Stretch Database migre ou créez un serveur Azure.

  2. Sur le serveur Azure, créez une règle de pare-feu avec la plage d’adresses IP de l’ordinateur SQL Server qui autorise SQL Server à communiquer avec le serveur distant.

    Vous pouvez facilement trouver les valeurs dont vous avez besoin et créer la règle de pare-feu en essayant de vous connecter au serveur Azure depuis l’Explorateur d’objets dans SQL Server Management Studio (SSMS). SSMS vous aide à créer la règle en ouvrant la boîte de dialogue suivante, qui inclut déjà les valeurs d’adresse IP requises.

    Important

    La prise en charge de Stretch Database est supprimée dans SQL Server Management Studio v19. Pour gérer Stretch Database, vous pouvez utiliser SQL Server Management Studio version 18.9.1 ou antérieure.

    Screenshot showing a firewall rule for Stretch.

  3. Pour configurer une base de données SQL Server pour Stretch Database, la base de données doit avoir une clé principale de base de données. La clé principale de base de données permet de sécuriser les informations d’identification que Stretch Database utilise pour se connecter à la base de données distante. L’exemple ci-dessous crée une clé principale de base de données.

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

    Pour plus d’informations sur la clé principale de base de données, consultez CREATE MASTER KEY (Transact-SQL) et Création d’une clé principale de base de données.

  4. Lorsque vous configurez une base de données pour Stretch Database, vous devez fournir les informations d’identification qui seront utilisées par Stretch Database pour la communication entre le serveur SQL Server local et le serveur Azure distant. Vous avez le choix entre deux options.

    • Vous pouvez fournir des informations d’identification d’administrateur.

      • Si vous activez Stretch Database en exécutant l’assistant, vous pouvez créer les informations d’identification à ce moment-là.

      • Si vous envisagez d’activer Stretch Database en exécutant ALTER DATABASE, vous devez créer manuellement les informations d’identification avant d’exécuter ALTER DATABASE pour activer Stretch Database.

        L’exemple suivant crée des informations d’identification.

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

        Pour plus d’informations sur les informations d’identification, consultez CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). La création des informations d’identification nécessite l’autorisation ALTER ANY CREDENTIAL.

    • Vous pouvez utiliser un compte de service fédéré pour que le serveur SQL Server communique avec le serveur Azure distant lorsque les conditions suivantes sont toutes vraies.

      • Le compte de service sous lequel l’instance de SQL Server s’exécute est un compte de domaine.

      • Le compte de domaine appartient à un domaine dont l’Active Directory est fédéré avec Microsoft Entra ID (anciennement Azure Active Directory).

      • Le serveur Azure distant est configuré pour prendre en charge l’authentification Microsoft Entra.

      • Le compte de service sous lequel s’exécute l’instance de SQL Server doit être configuré comme un compte dbmanager ou sysadmin sur le serveur Azure distant.

  5. Pour configurer une base de données pour Stretch Database, exécutez la commande ALTER DATABASE.

    1. Pour l’argument SERVER, indiquez le nom d’un serveur Azure existant, notamment la partie .database.windows.net du nom, par exemple MyStretchDatabaseServer.database.windows.net.

    2. Fournissez les informations d’identification d’un administrateur existant avec l’argument CREDENTIAL ou spécifiez FEDERATED_SERVICE_ACCOUNT = ON. L’exemple suivant fournit des informations d’identification existantes.

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

Étapes suivantes

Voir aussi