Sdílet prostřednictvím


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 na ON, 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:

  1. V Průzkumníku objektůse připojte k instanci databázového stroje SQL Serveru a následně tuto instanci rozbalte.

  2. Klikněte pravým tlačítkem myši na databázi, kterou chcete změnit, a potom vyberte Vlastnosti.

  3. V dialogovém okně Vlastnosti databáze vyberte stránku Možnosti.

  4. V možnosti Omezit přístup vyberte Jednotlivý.

  5. 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:

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard vyberte Nový dotaz.

  3. 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í stav AdventureWorks2022 databáze na READ_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