Festlegen des Einzelbenutzermodus für eine Datenbank

Gilt für:yes SQL Server (alle unterstützten Versionen)

In diesem Artikel wird beschrieben, wie Sie eine benutzerdefinierte Datenbank in SQL Server mithilfe von SQL Server Management Studio transact-SQL. Der Einzelbenutzermodus gibt an, dass jeweils nur ein Benutzer auf die Datenbank zugreifen kann. Er wird im Allgemeinen für Wartungsaktionen verwendet.

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 bleibt auch dann im Einzelbenutzermodus, wenn der*die Benutzer*in, der*die die Option festgelegt hat, nicht mehr verbunden ist. 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).

Berechtigungen

Erfordert die ALTER-Berechtigung für die Datenbank.

Verwenden von SQL Server Management Studio

So legen Sie den Einzelbenutzermodus für eine Datenbank fest:

  1. Stellen Objekt-Explorer eine Verbindung mit einer Instanz des SQL Server Datenbank-Engine, und erweitern Sie dann diese Instanz.

  2. Klicken Sie mit der rechten Maustaste auf die zu ändernde Datenbank, und wählen Sie dann Eigenschaften aus.

  3. Wählen Sie im Dialogfeld Datenbankeigenschaften die Seite Optionen aus.

  4. Wählen Sie unter der Option Zugriff beschränken den Eintrag Singleaus.

  5. Wenn andere Benutzer mit der Datenbank verbunden sind, wird die Meldung Geöffnete Verbindungen angezeigt. Wählen Sie Ja aus, um die Eigenschaft zu ändern und alle anderen Verbindungen zu schließen.

Mit dieser Prozedur können Sie für die Datenbank auch einen Mehrfachzugriff oder einen eingeschrä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:

  1. Stellen Sie eine Verbindung mit der Datenbank-Engine her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann 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 fest und gibt den Zugriff auf die Datenbank für alle Benutzer zurück.

Warnung

Um schnell exklusiven Zugriff zu erhalten, verwendet das Codebeispiel die Beendigungsoption WITH ROLLBACK IMMEDIATE. Dadurch wird für alle unvollständigen Transaktionen ein Rollback und für alle anderen Verbindungen mit der AdventureWorks2012-Datenbank sofort die Verbindung getrennt.

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

Nächste Schritte