Partilhar via


Definir um banco de dados para o modo de usuário único

Aplica-se a:SQL Server

Este artigo descreve como definir um banco de dados definido pelo usuário para o modo de usuário único no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. O modo de usuário único especifica que apenas um usuário de cada vez pode acessar o banco de dados e geralmente é usado para ações de manutenção.

Limitações

  • Se outros usuários estiverem conectados ao banco de dados no momento em que você definir o banco de dados para o modo de usuário único, suas conexões com o banco de dados serão fechadas sem aviso.

  • O banco de dados permanece no modo de usuário único mesmo depois que o usuário que definiu a opção é desconectado. Nesse ponto, um usuário diferente, mas apenas um, pode se conectar ao banco de dados.

Pré-requisitos

  • Antes de definir o banco de dados como SINGLE_USER, verifique se a opção AUTO_UPDATE_STATISTICS_ASYNC está definida como OFF. Quando essa opção é definida como ON, o thread em segundo plano usado para atualizar estatísticas faz uma conexão com o banco de dados e você não poderá acessar o banco de dados no modo de usuário único. Para mais informações, consulte ALTER DATABASE SET Options (Transact-SQL).

Permissões

Requer permissão ALTER no banco de dados.

Usar o SQL Server Management Studio

Para definir um banco de dados para o modo de usuário único:

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda essa instância.

  2. Clique com o botão direito do mouse no banco de dados que deseja alterar e, em seguida, selecione Propriedades.

  3. Na caixa de diálogo Propriedades do Banco de Dados , selecione a página Opções .

  4. Na opção Restringir Acesso, selecione Único.

  5. Se outros usuários estiverem conectados ao banco de dados, uma mensagem Open Connections aparecerá. Para alterar a propriedade e fechar todas as outras conexões, selecione Sim.

Você também pode definir o banco de dados como acesso Múltiplo ou acesso Restrito usando este procedimento. Para mais informações sobre as opções de Restringir Acesso, consulte Propriedades do Banco de Dados (Página de Opções).

Utilize Transact-SQL

Para definir um banco de dados para o modo de usuário único:

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo define o banco de dados para o modo SINGLE_USER para obter acesso exclusivo. O exemplo define o estado do banco de dados AdventureWorks2022 como READ_ONLY e retorna o acesso ao banco de dados para todos os usuários.

Advertência

Para obter acesso exclusivo rapidamente, o exemplo de código usa a opção de terminação WITH ROLLBACK IMMEDIATE. Isso fará com que todas as transações incompletas sejam revertidas e quaisquer outras conexões com o banco de dados AdventureWorks2022 sejam imediatamente desconectadas.

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