Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Den här artikeln beskriver hur du anger en användardefinierad databas till enanvändarläge i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Läge för en användare anger att endast en användare i taget kan komma åt databasen och används vanligtvis för underhållsåtgärder.
Begränsningar
Om andra användare är anslutna till databasen vid den tidpunkt då du ställer in databasen på enanvändarläge stängs deras anslutningar till databasen utan förvarning.
Databasen förblir i enanvändarläge även efter att användaren som anger alternativet är frånkopplad. Då kan en annan användare, men bara en, ansluta till databasen.
Förutsättningar
- Innan du ställer in databasen på SINGLE_USER kontrollerar du att alternativet AUTO_UPDATE_STATISTICS_ASYNC är inställt på
OFF
. När det här alternativet är inställt påON
tar bakgrundstråden som används för att uppdatera statistik en anslutning mot databasen, och du kommer inte att kunna komma åt databasen i enanvändarläge. Mer information finns i ALTER DATABASE SET Options (Transact-SQL).
Behörigheter
Kräver ALTER-behörighet för databasen.
Använda SQL Server Management Studio
Så här anger du en databas till enanvändarläge:
I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.
Högerklicka på databasen för att ändra och välj sedan Egenskaper.
I dialogrutan Databasegenskaper väljer du sidan Alternativ.
I alternativet Begränsa åtkomst väljer du Enskild.
Om andra användare är anslutna till databasen visas ett Öppna anslutningar meddelande. Om du vill ändra egenskapen och stänga alla andra anslutningar väljer du Ja.
Du kan också ställa in databasen på flera eller begränsad åtkomst med hjälp av den här proceduren. Mer information om alternativen Begränsa åtkomst finns i Databasegenskaper (alternativsida).
Använd Transact-SQL
Så här anger du en databas till enanvändarläge:
Anslut till databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. I det här exemplet anges databasen till
SINGLE_USER
läge för att få exklusiv åtkomst. I exemplet anges sedan tillståndet för denAdventureWorks2022
databasen tillREAD_ONLY
och returnerar åtkomst till databasen till alla användare.
Varning
För att snabbt få exklusiv åtkomst använder kodexemplet avslutningsalternativet WITH ROLLBACK IMMEDIATE
. Detta gör att alla ofullständiga transaktioner återställs och alla andra anslutningar till AdventureWorks2022
-databasen kopplas från omedelbart.
USE master;
GO
ALTER DATABASE AdventureWorks2022
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2022
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2022
SET MULTI_USER;
GO