Festlegen des Einzelbenutzermodus für eine DatenbankSet a Database to Single-user Mode

Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions)

In diesem Thema wird beschrieben, wie für eine benutzerdefinierte Datenbank in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mithilfe von SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLder Einzelbenutzermodus festgelegt wird.This topic describes how to set a user-defined database to single-user mode in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Der Einzelbenutzermodus gibt an, dass jeweils nur ein Benutzer auf die Datenbank zugreifen kann. Er wird im Allgemeinen für Wartungsaktionen verwendet.Single-user mode specifies that only one user at a time can access the database and is generally used for maintenance actions.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • 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.If other users are connected to the database at the time that you set the database to single-user mode, their connections to the database will be closed without warning.

  • Die Datenbank verbleibt im Einzelbenutzermodus, selbst wenn sich der Benutzer, der die Option festgelegt hat, abmeldet.The database remains in single-user mode even if the user that set the option logs off. Dadurch kann ein anderer Benutzer (aber nur einer) eine Verbindung mit der Datenbank herstellen.At that point, a different user, but only one, can connect to the database.

VoraussetzungenPrerequisites

  • Bevor Sie die Datenbank auf SINGLE_USER festlegen, müssen Sie überprüfen, ob die AUTO_UPDATE_STATISTICS_ASYNC-Option auf OFF festgelegt ist.Before you set the database to SINGLE_USER, verify that the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. 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.When this option is set to ON, the background thread that is used to update statistics takes a connection against the database, and you will be unable to access the database in single-user mode. Weitere Informationen zu dieser Einstellung finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

SicherheitSecurity

BerechtigungenPermissions

Erfordert die ALTER-Berechtigung für die Datenbank.Requires ALTER permission on the database.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So legen Sie den Einzelbenutzermodus für eine Datenbank festTo set a database to single-user mode

  1. Stellen Sie im Objekt-Explorereine Verbindung zu einer Instanz von SQL Server-Datenbank-EngineSQL Server Database Engineher, und erweitern Sie dann diese Instanz.In Object Explorer, connect to an instance of the SQL Server-Datenbank-EngineSQL Server Database Engine, and then expand that instance.

  2. Klicken Sie mit der rechten Maustaste auf die zu ändernde Datenbank, und klicken Sie dann auf Eigenschaften.Right-click the database to change, and then click Properties.

  3. Klicken Sie im Dialogfeld Datenbankeigenschaften auf die Seite Optionen .In the Database Properties dialog box, click the Options page.

  4. Wählen Sie unter der Option Zugriff beschränken den Eintrag Singleaus.From the Restrict Access option, select Single.

  5. Wenn andere Benutzer mit der Datenbank verbunden sind, wird die Meldung Geöffnete Verbindungen angezeigt.If other users are connected to the database, an Open Connections message will appear. Klicken Sie zum Ändern der Eigenschaft und Schließen aller anderen Verbindungen auf Ja.To change the property and close all other connections, click Yes.

Mit dieser Prozedur können Sie für die Datenbank auch einen Mehrbenutzer- oder beschränkten Zugriff festlegen.You can also set the database to Multiple or Restricted access by using this procedure. Weitere Informationen zu den Optionen von „Zugriff beschränken“ finden Sie unter Datenbankeigenschaften (Seite Optionen).For more information about the Restrict Access options, see Database Properties (Options Page).

Verwenden von Transact-SQLUsing Transact-SQL

So legen Sie den Einzelbenutzermodus für eine Datenbank festTo set a database to single-user mode

  1. Stellen Sie eine Verbindung mit dem Datenbank-EngineDatabase Engineher.Connect to the Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.From the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. In diesem Beispiel wird die Datenbank auf den SINGLE_USER -Modus festgelegt, um exklusiven Zugriff zu erhalten.This example sets the database to SINGLE_USER mode to obtain exclusive access. Anschließend wird in dem Beispiel der Status der AdventureWorks2012AdventureWorks2012 -Datenbank auf READ_ONLY festgelegt und der Zugriff auf die Datenbank an alle Benutzer zurückgegeben. Die Beendigungsoption WITH ROLLBACK IMMEDIATE wird in der ersten ALTER DATABASE -Anweisung angegeben.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.The termination option WITH ROLLBACK IMMEDIATE is specified in the first ALTER DATABASE statement. Dies führt dazu, dass für alle unvollständigen Transaktionen ein Rollback ausgeführt wird und alle anderen Verbindungen zur AdventureWorks2012AdventureWorks2012 -Datenbank sofort getrennt werden.This will cause all incomplete transactions to be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database to be immediately disconnected.

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

Weitere InformationenSee Also

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)