Partilhar via


Definir um banco de dados como modo de usuário único

Aplica-se a: SQL Server

Esse 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 pode acessar o banco de dados por vez e, normalmente é usado para ações de manutenção.

Limitações

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

  • O banco de dados permanecerá no modo de usuário único, mesmo depois que o usuário que definiu a opção tenha sido desconectado. Nesse momento, um usuário diferente, mas somente um, poderá 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 esta opção está definida como ON, o thread em segundo plano usado para a atualização de estatísticas estabelece uma conexão com o banco de dados e não é possível acessar o banco de dados em modo de usuário único. Para obter mais informações, veja Opções ALTER DATABASE SET (Transact-SQL).

Permissões

Requer a permissão ALTER no banco de dados.

Use SQL Server Management Studio

Para definir um banco de dados como 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 a expanda.

  2. Clique com o botão direito do mouse no banco de dados a ser alterado e selecione Propriedades.

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

  4. Da opção Restringir o Acesso , selecione Simples.

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

Também é possível definir o banco de dados como acesso Múltiplo ou Restrito usando esse procedimento. Para obter mais informações sobre as opções Restringir acesso, veja Propriedades de banco de dados (Página Opções).

Usar o Transact-SQL

Para definir um banco de dados como 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 como o modo SINGLE_USER para obter acesso exclusivo. Em seguida, 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.

Aviso

Para obter acesso exclusivo rapidamente, o exemplo de código usa a opção de término WITH ROLLBACK IMMEDIATE. Isso levará todas as transações incompletas a serem revertidas e qualquer outra conexão com o banco de dados AdventureWorks2022 a ser desconectada imediatamente.

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