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

Cette rubrique explique comment configurer une base de données définie par l'utilisateur en mode mono-utilisateur dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de 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

    Conditions préalables

    Sécurité

  • Pour définir une base de données en mode mono-utilisateur, utilisez :

    SQL Server Management Studio

    Transact-SQL

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.

Conditions préalables

  • 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 de ALTER DATABASE (Transact-SQL).

Sécurité

Autorisations

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

Icône de flèche utilisée avec le lien Retour en haut[Top]

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 de restriction d'accès, consultez Propriétés de la base de données (page Options).

Icône de flèche utilisée avec le lien Retour en haut[Top]

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 attribue ensuite à l'état de la base de données AdventureWorks2012 la valeur READ_ONLY et octroie l'accès à la base de données à tous les utilisateurs. L'option d'arrêt WITH ROLLBACK IMMEDIATE est spécifiée dans la première instruction ALTER DATABASE. 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

Icône de flèche utilisée avec le lien Retour en haut[Top]

Voir aussi

Référence

ALTER DATABASE (Transact-SQL)