Nastavení databáze na režim jednoho uživatele
platí pro:SQL Server
Tento článek popisuje, jak nastavit uživatelsky definovanou databázi na režim jednoho uživatele v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Režim jednoho uživatele určuje, že k databázi má přístup jenom jeden uživatel a obecně se používá pro akce údržby.
Omezení
Pokud jsou ostatní uživatelé připojeni k databázi v době, kdy jste databázi nastavili na režim jednoho uživatele, jejich připojení k databázi se zavře bez upozornění.
Databáze zůstává v režimu jednoho uživatele i po odpojení uživatele, který tuto možnost nastavil. V tomto okamžiku se k databázi může připojit jiný uživatel, ale jenom jeden.
Požadavky
- Před nastavením databáze na SINGLE_USER ověřte, zda je možnost AUTO_UPDATE_STATISTICS_ASYNC nastavena na
OFF
. Pokud je tato možnost nastavena naON
, vlákno na pozadí, které slouží k aktualizaci statistik, přebírá připojení k databázi a nebudete mít přístup k databázi v režimu jednoho uživatele. Další informace naleznete v části ALTER DATABASE SET Options (Transact-SQL).
Dovolení
Vyžaduje oprávnění ALTER pro databázi.
Použití aplikace SQL Server Management Studio
Nastavení databáze na režim jednoho uživatele:
V Průzkumníku objektůse připojte k instanci databázového stroje SQL Serveru a následně tuto instanci rozbalte.
Klikněte pravým tlačítkem myši na databázi, kterou chcete změnit, a potom vyberte Vlastnosti.
V dialogovém okně Vlastnosti databáze vyberte stránku Možnosti.
V možnosti Omezit přístup vyberte Jednotlivý.
Pokud jsou k databázi připojeni jiní uživatelé, zobrazí se zpráva Otevřít připojení. Pokud chcete změnit vlastnost a zavřít všechna ostatní připojení, vyberte Ano.
Pomocí tohoto postupu můžete také nastavit databázi na vícenásobný nebo omezený přístup. Další informace o možnostech omezit přístup naleznete v tématu vlastnosti databáze (stránka Možnosti).
Použijte Transact-SQL
Nastavení databáze na režim jednoho uživatele:
Připojte se k databázovému stroji.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad nastaví databázi na
SINGLE_USER
režim pro získání výhradního přístupu. Příklad pak nastaví stavAdventureWorks2022
databáze naREAD_ONLY
a vrátí přístup k databázi všem uživatelům.
Varování
K rychlému získání výhradního přístupu se v ukázce kódu používá možnost ukončení WITH ROLLBACK IMMEDIATE
. To způsobí, že se všechny neúplné transakce vrátí zpět a všechna další připojení k AdventureWorks2022
databázi se okamžitě odpojí.
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