Definir um banco de dados como modo de usuário únicoSet a Database to Single-user Mode

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Este tópico descreve como configurar um banco de dados definido pelo usuário no modo de usuário único no SQL ServerSQL Server usando o SQL Server Management StudioSQL Server Management Studio ou o Transact-SQLTransact-SQL.This topic describes how to set a user-defined database to single-user mode in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-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.Single-user mode specifies that only one user at a time can access the database and is generally used for maintenance actions.

Neste tópicoIn This Topic

Antes de começarBefore You Begin

Limitações e restriçõesLimitations and Restrictions

  • 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.If other users are connected to the database at the time that you set the database to single-user mode, their connections to the database will be closed without warning.

  • O banco de dados permanece em modo de usuário único mesmo se o usuário que definiu a opção fizer logoff.The database remains in single-user mode even if the user that set the option logs off. Nesse momento, um usuário diferente, mas somente um, poderá se conectar ao banco de dados.At that point, a different user, but only one, can connect to the database.

Pré-requisitosPrerequisites

  • Antes de definir o banco de dados como SINGLE_USER, verifique se a opção AUTO_UPDATE_STATISTICS_ASYNC está definida como OFF.Before you set the database to SINGLE_USER, verify that the AUTO_UPDATE_STATISTICS_ASYNC option is set to 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 será possível acessar o banco de dados em modo de usuário único.When this option is set to ON, the background thread that is used to update statistics takes a connection against the database, and you will be unable to access the database in single-user mode. Para obter mais informações, veja Opções ALTER DATABASE SET (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

SegurançaSecurity

PermissõesPermissions

Requer a permissão ALTER no banco de dados.Requires ALTER permission on the database.

Usando o SQL Server Management StudioUsing SQL Server Management Studio

Para definir um banco de dados como modo de usuário únicoTo set a database to single-user mode

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL ServerSQL Server Database Enginee expanda-a.In Object Explorer, connect to an instance of the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine, and then expand that instance.

  2. Clique com o botão direito do mouse no banco de dados a ser alterado e clique em Propriedades.Right-click the database to change, and then click Properties.

  3. Na caixa de diálogo Propriedades do Banco de Dados , clique na página Opções .In the Database Properties dialog box, click the Options page.

  4. Da opção Restringir o Acesso , selecione Simples.From the Restrict Access option, select Single.

  5. Se outros usuários estiverem conectados ao banco de dados, uma mensagem Conexões Abertas será exibida.If other users are connected to the database, an Open Connections message will appear. Para alterar a propriedade e fechar todas as outras conexões, clique em Sim.To change the property and close all other connections, click Yes.

Também é possível definir o banco de dados como acesso múltiplo ou restrito usando esse procedimento.You can also set the database to Multiple or Restricted access by using this procedure. Para obter mais informações sobre as opções de Restringir o Acesso, veja Propriedades de banco de dados (Página Opções).For more information about the Restrict Access options, see Database Properties (Options Page).

Usando o Transact-SQLUsing Transact-SQL

Para definir um banco de dados como modo de usuário únicoTo set a database to single-user mode

  1. Conecte-se ao Mecanismo de Banco de DadosDatabase Engine.Connect to the Mecanismo de Banco de DadosDatabase Engine.

  2. Na barra Padrão, clique em Nova Consulta.From the Standard bar, click New Query.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.Copy and paste the following example into the query window and click Execute. Este exemplo define o banco de dados como o modo SINGLE_USER para obter acesso exclusivo.This example sets the database to SINGLE_USER mode to obtain exclusive access. Em seguida, o exemplo define o estado do banco de dados AdventureWorks2012AdventureWorks2012 como READ_ONLY e retorna o acesso ao banco de dados para todos os usuários. A opção de término WITH ROLLBACK IMMEDIATE é especificada na primeira instrução ALTER DATABASE .The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.The termination option WITH ROLLBACK IMMEDIATE is specified in the first ALTER DATABASE statement. Isso levará todas as transações incompletas a serem revertidas e qualquer outra conexão com o banco de dados AdventureWorks2012AdventureWorks2012 a ser desconectada imediatamente.This will cause all incomplete transactions to be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database to be immediately disconnected.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

Consulte TambémSee Also

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)