Migrer vers une base de données partiellement autonome
S'applique à : SQL Server
Cette rubrique explique comment se préparer à passer au modèle de base de données partiellement autonome, puis indique la procédure de migration.
Dans cette rubrique :
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 autonome
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 autonome.
Vous devez comprendre le modèle de base de données partiellement autonome. Pour plus d’informations, consultez Bases de données autonomes.
Vous devez connaître les risques qui sont 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 qui sont modifiées pour les bases de données partiellement autonomes. Pour plus d’informations, consultez Fonctionnalités modifiées (base de données autonome).
Requête sys.dm_db_uncontained_entities (Transact-SQL) permettant de rechercher des objets ou des fonctionnalités sans relation contenant-contenu dans la base de données. Pour plus d’informations, reportez-vous à l’article .
Surveillez le XEvent database_uncontained_usage pour voir quand des fonctionnalités sans relation contenant-contenu sont utilisées.
Activer les bases de données autonomes
Les bases de données autonomes doivent être activées sur l'instance du moteur de base de données SQL Server avant que les bases de données autonomes puissent être créées.
Activation de bases de données autonomes à l'aide de Transact-SQL
L'exemple suivant active des 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 des bases de données autonomes sur l'instance du moteur de base de données SQL Server.
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur le nom du serveur, puis sélectionnez Propriétés.
Dans la page Avancé, dans la section Autonomie, affectez à l’option Activer les bases de données autonomes la valeur True.
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 autonome 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 autonome.
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 autonome.
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.
Dans la page Options , modifiez l’option Type de relation contenant-contenu en Partiel.
Cliquez sur OK.
Migration des 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 comptes de connexion qui ne sont pas activés. 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)