Partilhar via


Modo de usuário único para SQL Server

Aplica-se a:SQL Server

Este artigo fornece informações e etapas para iniciar sua instância do SQL Server no modo de usuário único, que permite apenas uma conexão de usuário com a instância.

Iniciar instância no modo de usuário único

Iniciar o SQL Server no modo de usuário único permite que qualquer membro do grupo Administradores local do computador se conecte à instância do SQL Server como membro da função de servidor fixa sysadmin. Para obter mais informações, consulte Conectar-se ao SQL Server quando os administradores de sistema estejam bloqueados.

Em determinadas circunstâncias, talvez seja necessário iniciar uma instância do SQL Server no modo de usuário único usando a opção de inicialização -m. Por exemplo, talvez você queira alterar as opções de configuração do servidor ou recuperar um banco de dados master danificado ou outro banco de dados do sistema. Ambas as ações exigem iniciar uma instância do SQL Server no modo de usuário único.

O exemplo a seguir inicia a instância do SQL Server no modo de usuário único via linha de comando e só permite conexão por meio do Editor de Consultas do SQL Server Management Studio.

net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"

Para restaurar o master banco de dados no SQL Server no Linux no modo de usuário único, consulte Restaurar o banco de dados mestre no Linux no modo de usuário único.

Considerações gerais

Quando você inicia uma instância do SQL Server no modo de usuário único, observe que:

  • Apenas um usuário pode se conectar ao servidor.

  • O processo CHECKPOINT não é executado. Por padrão, ele é executado automaticamente na inicialização.

Observação

Pare o serviço SQL Server Agent antes de se conectar a uma instância do SQL Server no modo de usuário único; caso contrário, o serviço SQL Server Agent usa a conexão, bloqueando-a.

Quando você inicia uma instância do SQL Server no modo de usuário único, o SQL Server Management Studio pode se conectar ao SQL Server. A conexão do Pesquisador de Objetos no Management Studio pode falhar porque requer mais de uma conexão para algumas operações. Para gerenciar o SQL Server no modo de usuário único, execute instruções Transact-SQL conectando-se por meio do Editor de Consultas no Management Studio ou use o utilitário sqlcmd.

Ao usar a -m opção, você pode acrescentar um nome de aplicativo específico para restringir as conexões somente àqueles com o mesmo nome de aplicativo especificado na cadeia de conexão. Por exemplo, o sqlcmd utilitário usa SQLCMD como o nome do aplicativo em sua cadeia de conexão. Se especificar -mSQLCMD como parâmetro de inicialização, a instância do SQL Server será iniciada no modo de utilizador único e as conexões de outras aplicações que não sejam sqlcmd serão rejeitadas. Use essa opção quando estiver iniciando o SQL Server no modo de usuário único e um aplicativo cliente desconhecido estiver usando a única conexão disponível.

Para se conectar por meio do Editor de Consultas no Management Studio, você pode usar -mSSMSQueryEditor e inserir App=SSMSQueryEditor na guia Parâmetros de Conexão Adicionais na caixa de diálogo Conectar ao Mecanismo de Banco de Dados .

Observação

O nome da aplicação especificado na opção de inicialização -m pode ser sensível a maiúsculas e minúsculas.

Importante

Não use essa opção como um recurso de segurança. O aplicativo cliente fornece o nome do aplicativo cliente e pode fornecer um nome falso como parte da cadeia de conexão.

Considerações sobre funcionalidade Sempre Ligada

Há considerações adicionais ao usar o modo de servidor único para instâncias do SQL Server configuradas como uma instância de cluster de failover Always On (FCI), ou quando os seus bancos de dados fazem parte de um grupo de disponibilidade Always On (AG).

Grupos de disponibilidade

A inicialização do grupo de disponibilidade Always On e dos bancos de dados no grupo é ignorada quando o SQL Server é iniciado no modo de usuário único. Se você precisar solucionar problemas com um banco de dados que exija a inicialização do SQL Server no modo de usuário único e o banco de dados também fizer parte de um grupo de disponibilidade, remova o banco de dados do grupo de disponibilidade antes de iniciar o SQL Server no modo de usuário único para que o banco de dados fique online.

Instâncias de cluster de tolerância a falhas

Para a instalação do SQL Server em um ambiente clusterizado, quando o SQL Server é iniciado no modo de usuário único, a DLL do recurso de cluster usa a conexão disponível, bloqueando assim quaisquer outras conexões com o servidor. Quando o SQL Server está nesse estado, se você tentar colocar o recurso do SQL Server Agent online, ele poderá fazer failover do recurso SQL para um nó diferente se o recurso estiver configurado para afetar o grupo.

Para contornar o problema, use o seguinte procedimento:

  1. Remova o parâmetro de inicialização -m das Propriedades Avançadas do SQL Server.

  2. Coloque o recurso do SQL Server offline.

  3. A partir do nó proprietário atual deste grupo, emita o seguinte comando a partir da linha de comandos:

    net start MSSQLSERVER /m
    
  4. Verifique no administrador de cluster ou no console de gerenciamento de cluster de failover se o recurso do SQL Server ainda está offline.

  5. Conecte-se ao SQL Server usando o seguinte comando e execute a operação necessária:

    sqlcmd -E -S\<servername>
    
  6. Quando a operação estiver concluída, feche o prompt de comando e coloque de volta o SQL e outros recursos online por meio do administrador de cluster.