Partager via


Migrer vers une base de données partiellement autonome

Cette rubrique explique comment préparer la modification du modèle de base de données partiellement autonome, puis fournit les étapes de migration.

Dans cette rubrique :

Préparation à la migration d’une base de données

Passez en revue les éléments suivants lors de la migration d’une base de données vers le modèle de base de données partiellement autonome.

  • Vous devez comprendre le modèle de base de données partiellement contenu. Pour plus d’informations, consultez Bases de données autonomes.

  • Vous devez comprendre les risques propres aux bases de données partiellement autonomes. Pour plus d'informations, consultez Meilleures pratiques de sécurité recommandées avec les bases de données autonomes.

  • Les bases de données autonomes ne prennent pas en charge la réplication, la capture de données modifiées ou le suivi des modifications. Vérifiez que la base de données n’utilise pas ces fonctionnalités.

  • Passez en revue la liste des fonctionnalités de base de données modifiées pour les bases de données partiellement autonomes. Pour plus d’informations, consultez Fonctionnalités modifiées (base de données autonome).

  • Interrogez sys.dm_db_uncontained_entities (Transact-SQL) pour rechercher des objets ou des fonctionnalités non liés dans la base de données. Pour plus d'informations, consultez :

  • Surveillez le database_uncontained_usage XEvent pour voir quand les fonctionnalités non détenues sont utilisées.

Activer les bases de données encapsulées

Les bases de données contenues doivent être activées sur l’instance du moteur de base de données SQL Server avant de pouvoir créer des bases de données contenues.

Activation de bases de données contenues à l’aide de Transact-SQL

L’exemple suivant active les bases de données autonomes sur l’instance du moteur de base de données SQL Server.

sp_configure 'contained database authentication', 1;  
GO  
RECONFIGURE ;  
GO  

Activation de bases de données autonomes à l’aide de Management Studio

L’exemple suivant active les bases de données autonomes sur l’instance du moteur de base de données SQL Server.

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur le nom du serveur, puis cliquez sur Propriétés.

  2. Dans la page Advanced, dans la section Confinement, définissez l’option Activer les bases de données autonomes sur Vrai.

  3. Cliquez sur OK.

Conversion d'une base de données en base de données partiellement contenue

Une base de données est convertie en base de données autonome en modifiant l’option CONTAINMENT .

Conversion d’une base de données en base de données partiellement conteneurisée à l’aide de Transact-SQL

L’exemple suivant convertit une base de données nommée Accounting en base de données partiellement autonome.

USE [master]  
GO  
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL  
GO  

Conversion d’une base de données en une base de données partiellement autonome à l’aide de Management Studio

L’exemple suivant convertit une base de données en base de données partiellement autonome.

  1. Dans l’Explorateur d’objets, développez Bases de données, cliquez avec le bouton droit sur la base de données à convertir, puis cliquez sur Propriétés.

  2. Dans la page Options , remplacez l’option De type Contenant-contenu par Partial.

  3. Cliquez sur OK.

Migration d’utilisateurs vers des utilisateurs de base de données autonome

L'exemple suivant migre tous les utilisateurs basés sur des comptes de connexion SQL Server vers des utilisateurs de base de données autonomes avec mots de passe. L’exemple exclut les connexions qui ne sont pas activées. L'exemple doit être exécuté dans la base de données autonome.

DECLARE @username sysname ;  
DECLARE user_cursor CURSOR  
    FOR   
        SELECT dp.name   
        FROM sys.database_principals AS dp  
        JOIN sys.server_principals AS sp   
        ON dp.sid = sp.sid  
        WHERE dp.authentication_type = 1 AND sp.is_disabled = 0;  
OPEN user_cursor  
FETCH NEXT FROM user_cursor INTO @username  
    WHILE @@FETCH_STATUS = 0  
    BEGIN  
        EXECUTE sp_migrate_user_to_contained   
        @username = @username,  
        @rename = N'keep_name',  
        @disablelogin = N'disable_login';  
    FETCH NEXT FROM user_cursor INTO @username  
    END  
CLOSE user_cursor ;  
DEALLOCATE user_cursor ;  

Voir aussi

Bases de données autonomes
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)