Migrer vers une base de données partiellement à relation contenant-contenu

Cette rubrique explique comment se préparer à passer au modèle de base de données partiellement à relation contenant-contenu, puis indique la procédure de migration.

Dans cette rubrique :

  • Préparation de la migration d'une base de données

  • Activer les bases de données partiellement à relation contenant-contenu

  • Conversion d'une base de données au modèle partiellement à relation contenant-contenu

  • Migration des utilisateurs vers des utilisateurs de base de données à relation contenant-contenu

Préparation de la migration d'une base de données

Passez en revue les éléments suivants lorsque vous envisagez de migrer une base de données vers le modèle de base de données partiellement à relation contenant-contenu.

Activer les bases de données à relation contenant-contenu

Les bases de données à relation contenant-contenu doivent être activées sur l'instance du Moteur de base de données SQL Server, avant que les bases de données à relation contenant-contenu puissent être créées.

Activation de bases de données à relation contenant-contenu à l'aide de Transact-SQL

L'exemple suivant active des bases de données à relation contenant-contenu 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 à relation contenant-contenu à l'aide de Management Studio

L'exemple suivant active des bases de données à relation contenant-contenu 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 sélectionnez Propriétés.

  2. Sur la page Avancé, dans la section Relation contenant-contenu, affectez à l'option Activer les bases de données à relation contenant-contenu la valeur True.

  3. Cliquez sur OK.

Conversion d'une base de données au modèle partiellement à relation contenant-contenu

Une base de données est convertie en base de données à relation contenant-contenu en modifiant l'option CONTAINMENT.

Conversion d'une base de données au modèle partiellement à relation contenant-contenu à l'aide de Transact-SQL

L'exemple suivant convertit une base de données nommée Accounting en base de données partiellement à relation contenant-contenu.

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

Conversion d'une base de données au modèle partiellement à relation contenant-contenu à l'aide de Management Studio

L'exemple suivant convertit une base de données en base de données partiellement à relation contenant-contenu.

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

  2. Sur la page Options, modifiez l'option Type de relation contenant-contenu en Partiel.

  3. Cliquez sur OK.

Migration des utilisateurs vers des utilisateurs de base de données à relation contenant-contenu

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

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

Référence

sp_migrate_user_to_contained (Transact-SQL)

sys.dm_db_uncontained_entities (Transact-SQL)

Concepts

Bases de données à relation contenant-contenu