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 comoON
, 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:
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e a expanda.
Clique com o botão direito do mouse no banco de dados a ser alterado e selecione Propriedades.
Na caixa de diálogo Propriedades do Banco de Dados, selecione a página Opções.
Da opção Restringir o Acesso , selecione Simples.
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:
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 como o modo
SINGLE_USER
para obter acesso exclusivo. Em seguida, o exemplo define o estado do banco de dadosAdventureWorks2022
comoREAD_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