Festlegen des Einzelbenutzermodus für eine Datenbank
In diesem Thema wird beschrieben, wie Sie eine benutzerdefinierte Datenbank in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL auf den Einzelbenutzermodus festlegen. Der Einzelbenutzermodus gibt an, dass jeweils nur ein Benutzer auf die Datenbank zugreifen kann. Er wird im Allgemeinen für Wartungsaktionen verwendet.
In diesem Thema
Vorbereitungen:
So legen Sie den Einzelbenutzermodus für eine Datenbank fest mit:
Vorbereitungen
Einschränkungen
Wenn zu dem Zeitpunkt, an dem Sie den Einzelbenutzermodus für die Datenbank festlegen, andere Benutzer mit der Datenbank verbunden sind, werden ihre Verbindungen mit der Datenbank ohne Warnung geschlossen.
Die Datenbank verbleibt im Einzelbenutzermodus, selbst wenn sich der Benutzer, der die Option festgelegt hat, abmeldet. Dadurch kann ein anderer Benutzer (aber nur einer) eine Verbindung mit der Datenbank herstellen.
Voraussetzungen
- Bevor Sie die Datenbank auf SINGLE_USER festlegen, müssen Sie überprüfen, ob die AUTO_UPDATE_STATISTICS_ASYNC-Option auf OFF festgelegt ist. Wenn diese Option auf ON festgelegt ist, stellt der Hintergrundthread, der zum Aktualisieren von Statistiken verwendet wird, eine Verbindung mit der Datenbank her, und Sie können im Einzelbenutzermodus nicht auf die Datenbank zugreifen. Weitere Informationen finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).
Sicherheit
Berechtigungen
Erfordert die ALTER-Berechtigung für die Datenbank.
Verwendung von SQL Server Management Studio
So legen Sie den Einzelbenutzermodus für eine Datenbank fest
Stellen Sie im Objekt-Explorereine Verbindung zu einer Instanz von SQL Server-Datenbank-Engineher, und erweitern Sie dann diese Instanz.
Klicken Sie mit der rechten Maustaste auf die zu ändernde Datenbank, und klicken Sie dann auf Eigenschaften.
Klicken Sie im Dialogfeld Datenbankeigenschaften auf die Seite Optionen .
Wählen Sie unter der Option Zugriff beschränken den Eintrag Singleaus.
Wenn andere Benutzer mit der Datenbank verbunden sind, wird die Meldung Geöffnete Verbindungen angezeigt. Klicken Sie zum Ändern der Eigenschaft und Schließen aller anderen Verbindungen auf Ja.
Mit dieser Prozedur können Sie für die Datenbank auch einen Mehrbenutzer- oder beschränkten Zugriff festlegen. Weitere Informationen zu den Optionen zum Einschränken des Zugriffs finden Sie unter Datenbankeigenschaften (Seite Optionen).
Verwenden von Transact-SQL
So legen Sie den Einzelbenutzermodus für eine Datenbank fest
Stellen Sie eine Verbindung mit dem Datenbank-Engineher.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. In diesem Beispiel wird die Datenbank auf den
SINGLE_USER
-Modus festgelegt, um exklusiven Zugriff zu erhalten. Das Beispiel legt dann den Status der AdventureWorks2012-Datenbank auf festREAD_ONLY
und gibt den Zugriff auf die Datenbank für alle Benutzer zurück. Die BeendigungsoptionWITH ROLLBACK IMMEDIATE
wird in der erstenALTER DATABASE
Anweisung angegeben. Dies führt dazu, dass für alle unvollständigen Transaktionen ein Rollback ausgeführt wird und alle anderen Verbindungen zur AdventureWorks2012 -Datenbank sofort getrennt werden.
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