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 en utilisant SQL Server Management Studio ou Transact-SQL. Le mode mono-utilisateur signifie que seul un utilisateur à la fois peut avoir accès à la base de données. Il est généralement destiné à des opérations 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 a défini l'option se déconnecte. À ce stade, un autre utilisateur (et un seul) peut se connecter à la base de données.

Prérequis

  • Avant d'affecter la valeur SINGLE_USER à la base de données, vérifiez que l'option AUTO_UPDATE_STATISTICS_ASYNC a la valeur OFF. Si la valeur de cette option est ON, le thread d'arrière-plan utilisé pour mettre à jour les statistiques se connecte à la base de données et vous ne pourrez pas accéder à celle-ci 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 l’Explorateur d'objets, connectez-vous à une instance du Moteur de base de données SQL Server, puis développez-la.

  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 Utilisateur unique.

  5. Si d'autres utilisateurs sont connectés à la base de données, un message Ouvrir les connexions apparaît. Pour modifier la propriété et fermer toutes les autres connexions, cliquez sur Oui.

Vous pouvez également définir la base de données pour un accès Multiple ou Restreint à l'aide de cette procédure. Pour plus d’informations sur les options Restreindre l’accès, consultez 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 attribue à la base de données la valeur SINGLE_USER pour obtenir l'accès exclusif. L’exemple définit ensuite l’état de la base de données READ_ONLYAdventureWorks2012 sur et 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. Suite à celà, toutes les transactions incomplètes sont restaurées et les autres connexions à la base de données AdventureWorks2012 sont immédiatement déconnectées.

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

ALTER DATABASE (Transact-SQL)