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 comoON
, 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:
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda essa instância.
Clique com o botão direito do mouse no banco de dados que deseja alterar e, em seguida, selecione Propriedades.
Na caixa de diálogo Propriedades do Banco de Dados , selecione a página Opções .
Na opção Restringir Acesso, selecione Único.
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:
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
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 dadosAdventureWorks2022
comoREAD_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