Expandir Minimizar
Este tópico ainda não foi avaliado como - Avalie este tópico

ALTER LOGIN (Transact-SQL)

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

Ícone de vínculo de tópico Convenções de sintaxe Transact-SQL


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

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.

PASSWORD ='password'

Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo alterado. Senhas diferenciam maiúsculas e minúsculas.

PASSWORD =hashed_password

Só se aplica à 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 essa 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.

ObservaçãoObservação

Este argumento só trabalha com hashes gerados pelo SQL Server 2000 ou versões posteriores.

OLD_PASSWORD ='oldpassword'

Aplica-se somente a logons do SQL Server. A senha atual do logon a que uma senha nova será atribuída. Senhas diferenciam maiúsculas e 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.

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 }

Aplica-se 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 a este 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 (Mecanismo de Banco de Dados). Uma credencial não pode ser mapeada para o logon do sa.

NO CREDENTIAL

Remove qualquer mapeamento existente do logon para uma credencial de servidor. Para obter mais informações, consulte Credenciais (Mecanismo de Banco de Dados).

UNLOCK

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

ADD CREDENTIAL

Adiciona um provedor de gerenciamento de chave extensível (EKM) ao logon. Para obter mais informações, consulte Compreendendo o EKM (Gerenciador de Chave Extensível).

DROP CREDENTIAL

Remove uma credencial do provedor de gerenciamento de chave extensível (EKM) do logon. Para obter mais informações, consulte Compreendendo o EKM (Gerenciador de Chave Extensível).

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á:

  • CHECK_EXPIRATION também será definido como ON, a menos que seja definido explicitamente como OFF.

  • O histórico de senha é 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 senha é 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 esta combinação de opções falhará.

Observação importanteImportante

CHECK_EXPIRATION e CHECK_POLICY serão aplicados apenas no Windows Server 2003 e posteriores. Para obter mais informações, consulte Diretiva de senha.

Observação importanteImportante

Uma questão conhecida no Windows Server 2003 deverá impedir que o total de senhas incorretas seja redefinido depois que o limite de bloqueio de conta for atingido. Isso poderá causar um bloqueio imediato em tentativas de logon sem-sucesso subsequentes. Você pode redefinir o total de senhas incorretas manualmente definindo CHECK_POLICY = OFF, seguido por CHECK_POLICY = ON. Para obter mais informações sobre o limite de bloqueio de conta, consulte o artigo 818078 da Base de Dados de Conhecimento Microsoft: Sua conta de usuário pode ser prematuramente bloqueada.

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, Nível 16, Estado 1, Linha 1

"Não é possível alterar o logon 'Domain\Group' porque ele não existe ou você não tem permissão".

Isso ocorre por design.

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.

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 a seguir 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.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Desbloqueando um logon

Para desbloquear um logon no 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 a seguir altera a senha do logon TestUser para um valor em que o hash já foi aplicado.

ALTER LOGIN TestUser WITH 
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
© 2013 Microsoft. Todos os direitos reservados.