ALTER LOGIN (Transact-SQL)

Altera as propriedades de uma conta de logon do SQL Server.

Convenções de sintaxe de Transact-SQL

Observação

O Microsoft Entra ID é o novo nome do Azure Active Directory (Azure AD). Estamos atualizando a documentação neste momento.

Selecionar um produto

Na linha a seguir, selecione o nome do produto em que você tem interesse e somente as informações do produto serão exibidas.

* SQL Server *  

 

SQL Server

Sintaxe

-- Syntax for SQL Server

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name

Argumentos

login_name Especifica o nome do logon do SQL Server que está sendo alterado. Logons no domínio devem ser colocados entre colchetes no formato [domínio\usuário].

ENABLE | DISABLE Habilita ou desabilita este logon. Desabilitar um logon não afeta o comportamento de logons que já estão conectados. (Use a instrução KILL para encerrar as conexões existentes.) Os logons desabilitados retêm suas permissões e ainda podem ser representados.

PASSWORD ='password' Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.

PASSWORD =hashed_password Aplica-se somente à palavra-chave HASHED. Especifica o valor com hash da senha para o logon que está sendo criado.

Importante

Quando um logon (ou um usuário de banco de dados independente) se conecta e é autenticado, a conexão armazena em cache as informações de identidade sobre o logon. Para um logon de Autenticação do Windows, isso inclui informações sobre a associação em grupos do Windows. A identidade do logon permanece autenticada desde que a conexão seja mantida. Para forçar alterações na identidade, como uma redefinição de senha ou alteração na associação de grupo do Windows, o logon deve fazer logoff da autoridade de autenticação (Windows ou SQL Server) e fazer logon novamente. Um membro da função de servidor fixa ou sysadmin ou qualquer logon com a permissão ALTER ANY CONNECTION pode usar o comando KILL para terminar uma conexão e forçar um logon para reconectar. O SQL Server Management Studio pode reutilizar informações de conexão ao abrir várias conexões para as janelas do Pesquisador de Objetos e do Editor de Consultas. Feche todas as conexões para forçar a reconexão.

HASHED Aplica-se somente a logons do SQL Server. Especifica que a senha digitada depois do argumento PASSWORD já esteja com hash. Se esta opção não for selecionada, a senha terá hash antes de ser armazenada no banco de dados. Essa opção deve ser usada somente para sincronização de logon entre dois servidores. Não use a opção HASHED para alterar senhas rotineiramente.

OLD_PASSWORD ='oldpassword' Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. As senhas diferenciam maiúsculas de minúsculas.

MUST_CHANGE Aplica-se somente a logons do SQL Server. Se esta opção estiver incluída, o SQL Server solicitará uma senha atualizada quando o logon alterado for usado pela primeira vez.

DEFAULT_DATABASE =database Especifica um banco de dados padrão a ser atribuído ao logon.

DEFAULT_LANGUAGE =language Especifica um idioma padrão a ser atribuído ao logon. O idioma padrão para todos os logons de Banco de Dados SQL é o inglês e não pode ser alterado. O idioma padrão do logon sa no SQL Server em Linux, é o inglês, mas pode ser alterado.

NAME = login_name O nome novo do logon que está sendo renomeado. Se este for um logon do Windows, o SID do administrador do Windows correspondente ao novo nome deverá corresponder ao SID associado ao logon no SQL Server. O nome novo de um logon do SQL Server não pode conter um caractere de barra invertida (\).

CHECK_EXPIRATION = { ON | OFF } Aplica-se somente a logons do SQL Server. Especifica se a política de expiração de senha deve ser aplicada neste logon. O valor padrão é OFF.

CHECK_POLICY = { ON | OFF } somente a logons do SQL Server. Especifica se as políticas de senha do Windows do computador em que o SQL Server está em execução devem ser aplicadas neste logon. O valor padrão é ON.

CREDENTIAL = credential_name O nome de uma credencial a ser mapeada para um logon do SQL Server. A credencial já deve existir no servidor. Para obter mais informações, consulte Credenciais. Não é possível mapear uma credencial para logon do sa.

NO CREDENTIAL Remove qualquer mapeamento existente do logon para uma credencial de servidor. Para obter mais informações, consulte Credenciais.

UNLOCK Aplica-se somente a logons do SQL Server. Especifica que um logon bloqueado deve ser desbloqueado.

ADD CREDENTIAL Adiciona uma credencial do provedor EKM (Gerenciamento de chave extensível) ao logon. Para obter mais informações, consulte EKM (Gerenciamento extensível de chaves).

DROP CREDENTIAL Remove uma credencial do provedor de EKM (Gerenciamento de chave extensível) do logon. Para obter mais informações, confira [EKM (Gerenciamento extensível de chaves)] (../.. /relational-databases/security/encryption/extensible-key-management-ekm.md).

Comentários

Quando CHECK_POLICY estiver definido como ON, o argumento HASHED não poderá ser usado.

Quando CHECK_POLICY for alterado para ON, o seguinte comportamento ocorrerá:

  • O histórico de senhas é inicializado com o valor do hash da senha atual.

    Quando CHECK_POLICY for alterado para OFF, o seguinte comportamento ocorrerá:

  • CHECK_EXPIRATION também será definido como OFF.

  • O histórico de senhas será apagado.

  • O valor de lockout_time é redefinido.

Se MUST_CHANGE for especificado, CHECK_EXPIRATION e CHECK_POLICY deverão ser definidos como ON. Caso contrário, a instrução falhará.

Se CHECK_POLICY for definido como OFF, CHECK_EXPIRATION não poderá ser definido como ON. Uma instrução ALTER LOGON com essa combinação de opções falhará.

Você não pode usar ALTER LOGIN com o argumento DISABLE para negar acesso a um grupo do Windows. Por exemplo, ALTER LOGIN [domain\group] DISABLE retornará a seguinte mensagem de erro:

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

Isso ocorre por design.

Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE.

Permissões

Requer a permissão ALTER ANY LOGIN.

Se a opção CREDENTIAL for usada, também será necessária a permissão ALTER ANY CREDENTIAL.

Se o logon sendo alterado for membro da função de servidor fixa sysadmin ou tiver a permissão CONTROL SERVER, a permissão CONTROL SERVER também será exigida quando as seguintes alterações forem efetuadas:

  • Redefinição de senha sem fornecimento da senha antiga.
  • Ativação de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Alteração do nome de logon.
  • Habilitação ou desabilitação do logon.
  • Mapeamento do logon para uma credencial diferente.

Um administrador pode alterar a senha, o idioma padrão e o banco de dados padrão do seu próprio logon.

Exemplos

a. Habilitando um logon desabilitado

O exemplo seguinte ativa o logon Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Alterando a senha de um logon

O exemplo seguinte altera a senha de logon Mary5 para uma senha forte.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Alterar a senha de um logon quando conectado como o logon

Se você estiver tentando alterar a senha do logon ao qual está conectado no momento e não tiver a permissão ALTER ANY LOGIN, especifique a opção OLD_PASSWORD.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';

D. Alterando o nome de um logon

O exemplo seguinte altera o nome de logon Mary5 para John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E. Mapeando um logon para uma credencial

O exemplo seguinte mapeia o logon John2 para a credencial Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F. Mapeando um logon para uma credencial de Gerenciamento Extensível de Chaves

O exemplo seguinte mapeia o logon Mary5 para a credencial de EKM EKMProvider1.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Desbloqueando um logon

Para desbloquear um logon do SQL Server, execute a seguinte instrução, substituindo **** pela senha da conta desejada.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO

Para desbloquear um logon sem alterar a senha, desative a política de verificação e ative-a novamente.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Alterando a senha de um logon usando HASHED

O exemplo seguinte altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Consulte Também

* Banco de Dados SQL *

 

Banco de Dados SQL

SQL Server

Sintaxe

-- Syntax for Azure SQL Database

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

Argumentos

login_name Especifica o nome do logon do SQL Server que está sendo alterado. Logons no domínio devem ser colocados entre colchetes no formato [domínio\usuário].

ENABLE | DISABLE Habilita ou desabilita este logon. Desabilitar um logon não afeta o comportamento de logons que já estão conectados. (Use a instrução KILL para encerrar as conexões existentes.) Os logons desabilitados retêm suas permissões e ainda podem ser representados.

PASSWORD ='password' Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.

Conexões continuamente ativas para banco de dados SQL exigem nova autorização (executada pelo mecanismo de banco de dados) pelo menos a cada 10 horas. O Mecanismo de Banco de Dados tenta a nova autorização usando a senha enviada originalmente e não é necessária nenhuma entrada do usuário. Por motivos de desempenho, quando uma senha for redefinida no Banco de Dados SQL, a conexão não será autenticada novamente, mesmo que ela seja redefinida devido ao pool de conexões. Isso é diferente do comportamento do SQL Server local. Se a senha for alterada depois que a conexão for autorizada inicialmente, a conexão precisará ser terminada e uma nova conexão deverá ser feita usando a nova senha. Um usuário com a permissão KILL DATABASE CONNECTION pode terminar explicitamente uma conexão com o Banco de Dados SQL usando o comando KILL. Para obter mais informações, consulte KILL.

Importante

Quando um logon (ou um usuário de banco de dados independente) se conecta e é autenticado, a conexão armazena em cache as informações de identidade sobre o logon. Para um logon de Autenticação do Windows, isso inclui informações sobre a associação em grupos do Windows. A identidade do logon permanece autenticada desde que a conexão seja mantida. Para forçar alterações na identidade, como uma redefinição de senha ou alteração na associação de grupo do Windows, o logon deve fazer logoff da autoridade de autenticação (Windows ou SQL Server) e fazer logon novamente. Um membro da função de servidor fixa ou sysadmin ou qualquer logon com a permissão ALTER ANY CONNECTION pode usar o comando KILL para terminar uma conexão e forçar um logon para reconectar. O SQL Server Management Studio pode reutilizar informações de conexão ao abrir várias conexões para as janelas do Pesquisador de Objetos e do Editor de Consultas. Feche todas as conexões para forçar a reconexão.

OLD_PASSWORD ='oldpassword' Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. As senhas diferenciam maiúsculas de minúsculas.

NAME = login_name O nome novo do logon que está sendo renomeado. Se este for um logon do Windows, o SID do administrador do Windows correspondente ao novo nome deverá corresponder ao SID associado ao logon no SQL Server. O nome novo de um logon do SQL Server não pode conter um caractere de barra invertida (\).

Comentários

Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE.

Permissões

Requer a permissão ALTER ANY LOGIN.

Se o logon sendo alterado for membro da função de servidor fixa sysadmin ou tiver a permissão CONTROL SERVER, a permissão CONTROL SERVER também será exigida quando as seguintes alterações forem efetuadas:

  • Redefinição de senha sem fornecimento da senha antiga.
  • Alteração do nome de logon.
  • Habilitação ou desabilitação do logon.
  • Mapeamento do logon para uma credencial diferente.

Uma entidade de segurança pode alterar a senha do seu próprio logon.

Exemplos

Esses exemplos também incluem exemplos de uso de outros produtos SQL. Confira quais argumentos são compatíveis acima.

a. Habilitando um logon desabilitado

O exemplo seguinte ativa o logon Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Alterando a senha de um logon

O exemplo seguinte altera a senha de logon Mary5 para uma senha forte.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Alterando o nome de um logon

O exemplo seguinte altera o nome de logon Mary5 para John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapeando um logon para uma credencial

O exemplo seguinte mapeia o logon John2 para a credencial Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapeando um logon para uma credencial de Gerenciamento Extensível de Chaves

O exemplo seguinte mapeia o logon Mary5 para a credencial de EKM EKMProvider1.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Alterando a senha de um logon usando HASHED

O exemplo seguinte altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Consulte Também

* Instância Gerenciada de SQL *

 

Instância Gerenciada do Azure SQL

Sintaxe

-- Syntax for SQL Server and Azure SQL Managed Instance

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins


ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
     DEFAULT_DATABASE = database
   | DEFAULT_LANGUAGE = language

Argumentos

Argumentos aplicáveis a logons SQL e Microsoft Entra

login_name Especifica o nome do logon do SQL Server que está sendo alterado. Os logons do Microsoft Entra devem ser especificados como user@domain. Por exemplo, john.smith@contoso.comou como o nome do grupo ou aplicativo do Microsoft Entra. Para logons do Microsoft Entra, o login_name deve corresponder a um logon existente do Microsoft Entra criado no banco de dados mestre.

ENABLE | DISABLE Habilita ou desabilita este logon. Desabilitar um logon não afeta o comportamento de logons que já estão conectados. (Use a instrução KILL para encerrar uma conexão existente.) Os logons desabilitados retêm suas permissões e ainda podem ser representados.

DEFAULT_DATABASE =database Especifica um banco de dados padrão a ser atribuído ao logon.

DEFAULT_LANGUAGE =language Especifica um idioma padrão a ser atribuído ao logon. O idioma padrão para todos os logons de Banco de Dados SQL é o inglês e não pode ser alterado. O idioma padrão do logon sa no SQL Server em Linux, é o inglês, mas pode ser alterado.

Argumentos aplicáveis somente a logons do SQL Server

PASSWORD ='password' Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas. As senhas também não se aplicam quando usadas com logins externos, como logins do Microsoft Entra.

Conexões continuamente ativas para banco de dados SQL exigem nova autorização (executada pelo mecanismo de banco de dados) pelo menos a cada 10 horas. O Mecanismo de Banco de Dados tenta a nova autorização usando a senha enviada originalmente e não é necessária nenhuma entrada do usuário. Por motivos de desempenho, quando uma senha for redefinida no Banco de Dados SQL, a conexão não será autenticada novamente, mesmo que ela seja redefinida devido ao pool de conexões. Isso é diferente do comportamento do SQL Server local. Se a senha for alterada depois que a conexão for autorizada inicialmente, a conexão precisará ser terminada e uma nova conexão deverá ser feita usando a nova senha. Um usuário com a permissão KILL DATABASE CONNECTION pode terminar explicitamente uma conexão com o Banco de Dados SQL usando o comando KILL. Para obter mais informações, consulte KILL.

PASSWORD =hashed_password Aplica-se somente à palavra-chave HASHED. Especifica o valor com hash da senha para o logon que está sendo criado.

HASHED Aplica-se somente a logons do SQL Server. Especifica que a senha digitada depois do argumento PASSWORD já esteja com hash. Se esta opção não for selecionada, a senha terá hash antes de ser armazenada no banco de dados. Essa opção deve ser usada somente para sincronização de logon entre dois servidores. Não use a opção HASHED para alterar senhas rotineiramente.

OLD_PASSWORD ='oldpassword' Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. As senhas diferenciam maiúsculas de minúsculas.

MUST_CHANGE
Aplica-se somente a logons do SQL Server. Se esta opção estiver incluída, o SQL Server solicitará uma senha atualizada quando o logon alterado for usado pela primeira vez.

NAME = login_name O nome novo do logon que está sendo renomeado. No caso de logon do Windows, o SID da entidade de segurança do Windows correspondente ao novo nome precisará corresponder ao SID associado ao logon no SQL Server. O nome novo de um logon do SQL Server não pode conter um caractere de barra invertida (\).

CHECK_EXPIRATION = { ON | OFF } Aplica-se somente a logons do SQL Server. Especifica se a política de expiração de senha deve ser aplicada neste logon. O valor padrão é OFF.

CHECK_POLICY = { ON | OFF } somente a logons do SQL Server. Especifica se as políticas de senha do Windows do computador em que o SQL Server está em execução devem ser aplicadas neste logon. O valor padrão é ON.

CREDENTIAL = credential_name O nome de uma credencial a ser mapeada para um logon do SQL Server. A credencial já deve existir no servidor. Para obter mais informações, consulte Credenciais. Não é possível mapear uma credencial para logon do sa.

NO CREDENTIAL Remove qualquer mapeamento existente do logon para uma credencial de servidor. Para obter mais informações, consulte Credenciais.

UNLOCK Aplica-se somente a logons do SQL Server. Especifica que um logon bloqueado deve ser desbloqueado.

ADD CREDENTIAL Adiciona uma credencial do provedor EKM (Gerenciamento de chave extensível) ao logon. Para obter mais informações, consulte EKM (Gerenciamento extensível de chaves).

DROP CREDENTIAL Remove uma credencial do provedor de EKM (Gerenciamento de chave extensível) do logon. Para obter mais informações, consulte EKM (Gerenciamento extensível de chaves).

Comentários

Quando CHECK_POLICY estiver definido como ON, o argumento HASHED não poderá ser usado.

Quando CHECK_POLICY for alterado para ON, o seguinte comportamento ocorrerá:

  • O histórico de senhas é inicializado com o valor do hash da senha atual.

    Quando CHECK_POLICY for alterado para OFF, o seguinte comportamento ocorrerá:

  • CHECK_EXPIRATION também será definido como OFF.

  • O histórico de senhas será apagado.

  • O valor de lockout_time é redefinido.

Se MUST_CHANGE for especificado, CHECK_EXPIRATION e CHECK_POLICY deverão ser definidos como ON. Caso contrário, a instrução falhará.

Se CHECK_POLICY for definido como OFF, CHECK_EXPIRATION não poderá ser definido como ON. Uma instrução ALTER LOGON com essa combinação de opções falhará.

Você não pode usar ALTER_LOGIN com o argumento DISABLE para negar acesso a um grupo do Windows. Isso ocorre por design. Por exemplo, ALTER_LOGIN [domain\group] DISABLE retornará a seguinte mensagem de erro:

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE.

Permissões

Requer a permissão ALTER ANY LOGIN.

Se a opção CREDENTIAL for usada, também será necessária a permissão ALTER ANY CREDENTIAL.

Se o logon sendo alterado for membro da função de servidor fixa sysadmin ou tiver a permissão CONTROL SERVER, a permissão CONTROL SERVER também será exigida quando as seguintes alterações forem efetuadas:

  • Redefinição de senha sem fornecimento da senha antiga.
  • Ativação de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Alteração do nome de logon.
  • Habilitação ou desabilitação do logon.
  • Mapeamento do logon para uma credencial diferente.

Um administrador pode alterar a senha, o idioma padrão e o banco de dados padrão do seu próprio logon.

Somente uma entidade SQL com sysadmin privilégios pode executar um comando ALTER LOGIN em um logon do Microsoft Entra.

Exemplos

Esses exemplos também incluem exemplos de uso de outros produtos SQL. Confira quais argumentos são compatíveis acima.

a. Habilitando um logon desabilitado

O exemplo seguinte ativa o logon Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Alterando a senha de um logon

O exemplo seguinte altera a senha de logon Mary5 para uma senha forte.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Alterando o nome de um logon

O exemplo seguinte altera o nome de logon Mary5 para John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapeando um logon para uma credencial

O exemplo seguinte mapeia o logon John2 para a credencial Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapeando um logon para uma credencial de Gerenciamento Extensível de Chaves

O exemplo seguinte mapeia o logon Mary5 para a credencial de EKM EKMProvider1.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Instância Gerenciada de SQL do Azure.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Desbloqueando um logon

Para desbloquear um logon do SQL Server, execute a seguinte instrução, substituindo **** pela senha da conta desejada.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

Para desbloquear um logon sem alterar a senha, desative a política de verificação e ative-a novamente.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Alterando a senha de um logon usando HASHED

O exemplo seguinte altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Instância Gerenciada de SQL do Azure.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

H. Desabilitando o logon de um usuário do Microsoft Entra

O exemplo a seguir desabilita o logon de um usuário do Microsoft Entra, joe@contoso.com.

ALTER LOGIN [joe@contoso.com] DISABLE

Confira também

* Azure Synapse
Analytics *

 

Azure Synapse Analytics

Sintaxe

-- Syntax for Azure Synapse

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

Argumentos

login_name Especifica o nome do logon do SQL Server que está sendo alterado. Logons no domínio devem ser colocados entre colchetes no formato [domínio\usuário].

ENABLE | DISABLE Habilita ou desabilita este logon. Desabilitar um logon não afeta o comportamento de logons que já estão conectados. (Use a instrução KILL para encerrar as conexões existentes.) Os logons desabilitados retêm suas permissões e ainda podem ser representados.

PASSWORD ='password' Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.

Conexões continuamente ativas para banco de dados SQL exigem nova autorização (executada pelo mecanismo de banco de dados) pelo menos a cada 10 horas. O Mecanismo de Banco de Dados tenta a nova autorização usando a senha enviada originalmente e não é necessária nenhuma entrada do usuário. Por motivos de desempenho, quando uma senha for redefinida no Banco de Dados SQL, a conexão não será autenticada novamente, mesmo que ela seja redefinida devido ao pool de conexões. Isso é diferente do comportamento do SQL Server local. Se a senha for alterada depois que a conexão for autorizada inicialmente, a conexão precisará ser terminada e uma nova conexão deverá ser feita usando a nova senha. Um usuário com a permissão KILL DATABASE CONNECTION pode terminar explicitamente uma conexão com o Banco de Dados SQL usando o comando KILL. Para obter mais informações, consulte KILL.

Importante

Quando um logon (ou um usuário de banco de dados independente) se conecta e é autenticado, a conexão armazena em cache as informações de identidade sobre o logon. Para um logon de Autenticação do Windows, isso inclui informações sobre a associação em grupos do Windows. A identidade do logon permanece autenticada desde que a conexão seja mantida. Para forçar alterações na identidade, como uma redefinição de senha ou alteração na associação de grupo do Windows, o logon deve fazer logoff da autoridade de autenticação (Windows ou SQL Server) e fazer logon novamente. Um membro da função de servidor fixa ou sysadmin ou qualquer logon com a permissão ALTER ANY CONNECTION pode usar o comando KILL para terminar uma conexão e forçar um logon para reconectar. O SQL Server Management Studio pode reutilizar informações de conexão ao abrir várias conexões para as janelas do Pesquisador de Objetos e do Editor de Consultas. Feche todas as conexões para forçar a reconexão.

OLD_PASSWORD ='oldpassword' Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. As senhas diferenciam maiúsculas de minúsculas.

NAME = login_name O nome novo do logon que está sendo renomeado. Se este for um logon do Windows, o SID do administrador do Windows correspondente ao novo nome deverá corresponder ao SID associado ao logon no SQL Server. O nome novo de um logon do SQL Server não pode conter um caractere de barra invertida (\).

Comentários

Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE.

Permissões

Requer a permissão ALTER ANY LOGIN.

Se o logon sendo alterado for membro da função de servidor fixa sysadmin ou tiver a permissão CONTROL SERVER, a permissão CONTROL SERVER também será exigida quando as seguintes alterações forem efetuadas:

  • Redefinição de senha sem fornecimento da senha antiga.
  • Alteração do nome de logon.
  • Habilitação ou desabilitação do logon.
  • Mapeamento do logon para uma credencial diferente.

Uma entidade de segurança pode alterar a senha do seu próprio logon.

Exemplos

Esses exemplos também incluem exemplos de uso de outros produtos SQL. Confira quais argumentos são compatíveis acima.

a. Habilitando um logon desabilitado

O exemplo seguinte ativa o logon Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Alterando a senha de um logon

O exemplo seguinte altera a senha de logon Mary5 para uma senha forte.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Alterando o nome de um logon

O exemplo seguinte altera o nome de logon Mary5 para John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapeando um logon para uma credencial

O exemplo seguinte mapeia o logon John2 para a credencial Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapeando um logon para uma credencial de Gerenciamento Extensível de Chaves

O exemplo seguinte mapeia o logon Mary5 para a credencial de EKM EKMProvider1.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Desbloqueando um logon

Para desbloquear um logon do SQL Server, execute a seguinte instrução, substituindo **** pela senha da conta desejada.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO

G. Alterando a senha de um logon usando HASHED

O exemplo seguinte altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Consulte Também

* Analytics
Platform System (PDW) *

 

Sistema de plataforma de análise

Sintaxe

-- Syntax for Analytics Platform System

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    }

<status_option> ::=ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
      | <password_option> [<password_option> ]
    ]
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }

<password_option> ::=
    MUST_CHANGE | UNLOCK

Argumentos

login_name Especifica o nome do logon do SQL Server que está sendo alterado. Logons no domínio devem ser colocados entre colchetes no formato [domínio\usuário].

ENABLE | DISABLE Habilita ou desabilita este logon. Desabilitar um logon não afeta o comportamento de logons que já estão conectados. (Use a instrução KILL para encerrar uma conexão existente.) Os logons desabilitados retêm suas permissões e ainda podem ser representados.

PASSWORD ='password' Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.

Importante

Quando um logon (ou um usuário de banco de dados independente) se conecta e é autenticado, a conexão armazena em cache as informações de identidade sobre o logon. Para um logon de Autenticação do Windows, isso inclui informações sobre a associação em grupos do Windows. A identidade do logon permanece autenticada desde que a conexão seja mantida. Para forçar alterações na identidade, como uma redefinição de senha ou alteração na associação de grupo do Windows, o logon deve fazer logoff da autoridade de autenticação (Windows ou SQL Server) e fazer logon novamente. Um membro da função de servidor fixa ou sysadmin ou qualquer logon com a permissão ALTER ANY CONNECTION pode usar o comando KILL para terminar uma conexão e forçar um logon para reconectar. O SQL Server Management Studio pode reutilizar informações de conexão ao abrir várias conexões para as janelas do Pesquisador de Objetos e do Editor de Consultas. Feche todas as conexões para forçar a reconexão.

OLD_PASSWORD ='oldpassword' Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. As senhas diferenciam maiúsculas de minúsculas.

MUST_CHANGE Aplica-se somente a logons do SQL Server. Se esta opção estiver incluída, o SQL Server solicitará uma senha atualizada quando o logon alterado for usado pela primeira vez.

NAME = login_name O nome novo do logon que está sendo renomeado. No caso de logon do Windows, o SID da entidade de segurança do Windows correspondente ao novo nome precisará corresponder ao SID associado ao logon no SQL Server. O nome novo de um logon do SQL Server não pode conter um caractere de barra invertida (\).

CHECK_EXPIRATION = { ON | OFF } Aplica-se somente a logons do SQL Server. Especifica se a política de expiração de senha deve ser aplicada neste logon. O valor padrão é OFF.

CHECK_POLICY = { ON | OFF } somente a logons do SQL Server. Especifica se as políticas de senha do Windows do computador em que o SQL Server está em execução devem ser aplicadas neste logon. O valor padrão é ON.

UNLOCK Aplica-se somente a logons do SQL Server. Especifica que um logon bloqueado deve ser desbloqueado.

Comentários

Quando CHECK_POLICY estiver definido como ON, o argumento HASHED não poderá ser usado.

Quando CHECK_POLICY for alterado para ON, o seguinte comportamento ocorrerá:

  • O histórico de senhas é inicializado com o valor do hash da senha atual.

    Quando CHECK_POLICY for alterado para OFF, o seguinte comportamento ocorrerá:

  • CHECK_EXPIRATION também será definido como OFF.

  • O histórico de senhas será apagado.

  • O valor de lockout_time é redefinido.

Se MUST_CHANGE for especificado, CHECK_EXPIRATION e CHECK_POLICY deverão ser definidos como ON. Caso contrário, a instrução falhará.

Se CHECK_POLICY for definido como OFF, CHECK_EXPIRATION não poderá ser definido como ON. Uma instrução ALTER LOGON com essa combinação de opções falhará.

Você não pode usar ALTER_LOGIN com o argumento DISABLE para negar acesso a um grupo do Windows. Isso ocorre por design. Por exemplo, ALTER_LOGIN [domain\group] DISABLE retornará a seguinte mensagem de erro:

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE.

Permissões

Requer a permissão ALTER ANY LOGIN.

Se a opção CREDENTIAL for usada, também será necessária a permissão ALTER ANY CREDENTIAL.

Se o logon sendo alterado for membro da função de servidor fixa sysadmin ou tiver a permissão CONTROL SERVER, a permissão CONTROL SERVER também será exigida quando as seguintes alterações forem efetuadas:

  • Redefinição de senha sem fornecimento da senha antiga.
  • Ativação de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Alteração do nome de logon.
  • Habilitação ou desabilitação do logon.
  • Mapeamento do logon para uma credencial diferente.

Um administrador pode alterar a senha, o idioma padrão e o banco de dados padrão do seu próprio logon.

Exemplos

Esses exemplos também incluem exemplos de uso de outros produtos SQL. Confira quais argumentos são compatíveis acima.

a. Habilitando um logon desabilitado

O exemplo seguinte ativa o logon Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Alterando a senha de um logon

O exemplo seguinte altera a senha de logon Mary5 para uma senha forte.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Alterando o nome de um logon

O exemplo seguinte altera o nome de logon Mary5 para John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapeando um logon para uma credencial

O exemplo seguinte mapeia o logon John2 para a credencial Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapeando um logon para uma credencial de Gerenciamento Extensível de Chaves

O exemplo seguinte mapeia o logon Mary5 para a credencial de EKM EKMProvider1.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Desbloqueando um logon

Para desbloquear um logon do SQL Server, execute a seguinte instrução, substituindo **** pela senha da conta desejada.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

Para desbloquear um logon sem alterar a senha, desative a política de verificação e ative-a novamente.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Alterando a senha de um logon usando HASHED

O exemplo seguinte altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

Aplica-se a: SQL Server 2008 (10.0.x) e posterior.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Consulte Também