Partager via


Définir une base de données en mode mono-utilisateur

Cette rubrique explique comment définir une base de données définie par l’utilisateur en mode mono-utilisateur dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL. Le mode mono-utilisateur spécifie qu’un seul utilisateur à la fois peut accéder à la base de données et est généralement utilisé pour les actions de maintenance.

Dans cette rubrique

Avant de commencer

Limitations et restrictions

  • Si d’autres utilisateurs sont connectés à la base de données au moment où vous définissez la base de données en mode mono-utilisateur, leurs connexions à la base de données sont fermées sans avertissement.

  • La base de données reste en mode mono-utilisateur même si l’utilisateur qui définit l’option se déconnecte. À ce stade, un autre utilisateur, mais un seul, peut se connecter à la base de données.

Conditions préalables

  • Avant de définir la base de données sur SINGLE_USER, vérifiez que l’option AUTO_UPDATE_STATISTICS_ASYNC est définie sur OFF. Lorsque cette option est définie sur ON, le thread d’arrière-plan utilisé pour mettre à jour les statistiques prend une connexion à la base de données et vous ne pourrez pas accéder à la base de données en mode mono-utilisateur. Pour plus d’informations, consultez Options SET d’ALTER DATABASE (Transact-SQL).

Sécurité

Autorisations

Nécessite l'autorisation ALTER sur la base de données.

Utilisation de SQL Server Management Studio

Pour définir une base de données en mode mono-utilisateur

  1. Dans 'Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server, puis développez cette instance.

  2. Cliquez avec le bouton droit sur la base de données à modifier, puis cliquez sur Propriétés.

  3. Dans la boîte de dialogue Propriétés de la base de données , cliquez sur la page Options .

  4. Dans l’option Restreindre l’accès , sélectionnez Single.

  5. Si d’autres utilisateurs sont connectés à la base de données, un message Open Connections s’affiche. Pour modifier la propriété et fermer toutes les autres connexions, cliquez sur Oui.

Vous pouvez également définir la base de données sur Accès multiple ou restreint à l’aide de cette procédure. Pour plus d’informations sur les options Restreindre l’accès, consultez La page Propriétés de la base de données (page Options).

Utilisation de Transact-SQL

Pour définir une base de données en mode mono-utilisateur

  1. Connectez-vous au moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple montre comment définir la base de données en SINGLE_USER mode pour obtenir un accès exclusif. L’exemple définit ensuite l’état de la base de données AdventureWorks2012 et READ_ONLY retourne l’accès à la base de données à tous les utilisateurs. L’option WITH ROLLBACK IMMEDIATE d’arrêt est spécifiée dans la première ALTER DATABASE instruction. Cela entraînera l'annulation de toutes les transactions incomplètes et la déconnexion immédiate de toute autre connexion à la base de données AdventureWorks2012.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

Voir aussi

MODIFIER LA BASE DE DONNÉES (Transact-SQL)