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 :
Pour définir une base de données en mode mono-utilisateur, utilisez :
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
Dans l’Explorateur d'objets, connectez-vous à une instance du Moteur de base de données SQL Server, puis développez-la.
Cliquez avec le bouton droit sur la base de données à modifier, puis cliquez sur Propriétés.
Dans la boîte de dialogue Propriétés de la base de données , cliquez sur la page Options .
Dans l'option Restreindre l'accès , sélectionnez Utilisateur unique.
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
Connectez-vous au Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
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éesREAD_ONLY
AdventureWorks2012 sur et retourne l’accès à la base de données à tous les utilisateurs. L’optionWITH ROLLBACK IMMEDIATE
d’arrêt est spécifiée dans la premièreALTER 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