Share via


CREATE LOGIN (Transact-SQL)

Cria um logon do Mecanismo de Banco de Dados para SQL Server, Banco de dados SQL do Windows Azure e SQL Server PDW.

ObservaçãoObservação

As opções CREATE LOGIN variam para SQL Server, Banco de dados SQL e SQL Server PDW.

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

Sintaxe

-- Syntax for SQL Server
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<option_list1> ::= 
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=  
    SID = sid
    | DEFAULT_DATABASE = database    
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name  

<sources> ::=
    WINDOWS [ WITH <windows_options>[ ,... ] ]
    | CERTIFICATE certname
    | ASYMMETRIC KEY asym_key_name 

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

Sintaxe

-- Syntax for SQL Database
CREATE LOGIN login_name { WITH <option_list3> }

<option_list3> ::= 
    PASSWORD = { 'password' }

Sintaxe

-- Syntax for SQL Server PDW
CREATE LOGIN login_name { WITH <option_list4> }

< option_list4> ::= 
    PASSWORD = { 'password' } [ MUST_CHANGE ]
    [ , <option_list5> [ ,... ] ]

<option_list5> ::=  
      CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}

Argumentos

  • login_name
    Especifica o nome do logon criado. Há quatro tipos de logons: SQL Server logons, logons do Windows, logons mapeados por certificado e logons mapeados por chave assimétrica. Ao criar logons mapeados de uma conta de domínio do Windows, você deve usar o nome de logon de usuário de versões anteriores ao Windows 2000 no formato [<nomededomínio>\<nome_de_logon>]. Não é possível usar um UPN no formato nome_de_logon@NomedeDomínio. Para obter um exemplo, consulte o exemplo D posteriormente neste tópico. SQL Server logons de autenticação são do tipo sysname e devem obedecer às regras de identificadores e não pode conter um '\'. Os logons do Windows podem conter um '\'.

  • PASSWORD ='password'
    Aplica-se somente a logons do SQL Server. Especifica a senha do logon que está sendo criado. Use uma senha forte. Para obter mais informações, consulte Senhas fortes e Política de senha.

    As senhas diferenciam maiúsculas de minúsculas. As senhas sempre devem ter pelo menos 8 caracteres e não podem exceder 128 caracteres. Elas podem incluir caracteres de a-z, A-Z, 0-9, e a maioria dos caracteres não alfanuméricos. As senhas não podem conter aspas simples ou o login_name.

  • 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 inserida depois do argumento PASSWORD já tem hash. Se esta opção não estiver selecionada, a cadeia de caracteres inserida como senha recebe o hash antes de ser armazenada no banco de dados. Essa opção deve ser usada somente para migrar bancos de dados de um servidor para outro. Não use a opção HASHED para criar novos logons. A opção HASHED não pode ser usada com os hashes criados pelo SQL Server 7 ou anterior.

  • MUST_CHANGE
    Aplica-se somente a logons do SQL Server. Se esta opção estiver incluída, o SQL Server solicita ao usuário uma nova senha quando o novo logon for usado pela primeira vez.

  • CREDENTIAL **=**credential_name
    O nome de uma credencial a ser mapeada para um novo logon do SQL Server. A credencial já deve existir no servidor. No momento, esta opção somente vincula a credencial a um logon. Não é possível mapear uma credencial para logon sa.

  • SID = sid
    Aplica-se somente a logons do SQL Server. Especifica o GUID do novo logon do SQL Server. Se esta opção não for selecionada, o SQL Server nomeará um GUID automaticamente.

  • DEFAULT_DATABASE **=**database
    Especifica o banco de dados padrão a ser atribuído ao logon. Se esta opção não for incluída, o banco de dados padrão será definido como master.

  • DEFAULT_LANGUAGE **=**language
    Especifica o idioma padrão a ser atribuído ao logon. Se esta opção não for incluída, o idioma padrão será definido como o idioma padrão atual do servidor. Se o idioma padrão do servidor for alterado posteriormente, o idioma padrão do logon permanecerá inalterado.

  • 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 neste logon. O valor padrão é ON.

    Se a diretiva de Windows exigir senhas fortes, as senhas deverão conter pelo menos três das quatro características a seguir:

    • Um caractere maiúsculo (A-Z).

    • Um caractere minúsculo (a-z).

    • Um dígito (0-9).

    • Um dos caracteres não alfanuméricos, como um espaço, _, @, *, ^, %, !, $, #, or &.

  • WINDOWS
    Especifica que o logon seja mapeado para um logon do Windows.

  • CERTIFICATE certname
    Especifica o nome de um certificado a ser associado a este logon. Este certificado já deve ocorrer no banco de dados master.

  • ASYMMETRIC KEY asym_key_name
    Especifica o nome de uma chave assimétrica a ser associada a este logon. Esta chave já deve ocorrer no banco de dados master.

Comentários

As senhas diferenciam maiúsculas de minúsculas.

O hash prévio de senhas tem suporte somente durante a criação de logons do SQL Server.

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

Não há suporte para uma combinação de CHECK_POLICY = OFF e CHECK_EXPIRATION = ON.

Quando CHECK_POLICY é definido como OFF, lockout_time é redefinido e CHECK_EXPIRATION é definido como OFF.

Observação importanteImportante

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

Os logons criados a partir de certificados ou chaves assimétricas só são usados para assinatura de código. Eles não podem ser usados para a conexão com o SQL Server. Você pode criar um logon a partir de um certificado ou chave assimétrica somente quando o certificado ou a chave já existe em master.

Para um script transferir logons, consulte Como transferir os logons e senhas entre instâncias do SQL Server 2005 e SQL Server 2008.

Criar um logon automaticamente habilita o novo logon e concede a ele a permissão CONNECT SQL de nível de servidor.

Logons de banco de dados SQL

No Banco de dados SQL, a instrução CREATE LOGIN deve ser a única instrução em um lote.

Em alguns métodos de se conectar ao Banco de dados SQL, como sqlcmd, você deve anexar o nome do servidor Banco de dados SQL ao nome do logon na cadeia de conexão usando a notação <login>@<server>. Por exemplo, se seu logon for login1 e o nome totalmente qualificado do servidor Banco de dados SQL forem servername.database.windows.net, o parâmetro username da cadeia de conexão deverá ser login1@servername. Como o comprimento total do parâmetro username é 128 caracteres, login_name é limitado a 127 caracteres menos o comprimento do nome de servidor. No exemplo, login_name pode ter apenas 117 caracteres porque servername tem 10 caracteres.

No Banco de dados SQL, você deve estar conectado ao banco de dados mestre para criar um logon.

Para obter mais informações sobre logons do Banco de dados SQL, consulte Gerenciando bancos de dados e logons no banco de dados SQL do Windows Azure.

Permissões

No SQL Server e no SQL Server PDW, requer a permissão ALTER ANY LOGIN no servidor ou associação na função de servidor fixa securityadmin.

no Banco de dados SQL, somente o logon principal do nível de servidor (criado pelo processo de provisionamento) ou membros da função de banco de dados loginmanager no banco de dados mestre podem criar novos logons.

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

Próximas etapas

Depois de criar um logon, o logon pode se conectar ao aplicativo Mecanismo de Banco de Dados, Banco de dados SQL ou SQL Server PDW, mas só tem as permissões concedidas à função pública. Execute algumas das atividades a seguir.

Exemplos

A. Criando um logon com uma senha

Aplica-se a todos.

O exemplo a seguir cria um logon para um usuário específico e atribui uma senha.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Criando um logon com uma senha

Aplica-se a SQL Server e SQL Server PDW.

O exemplo a seguir cria um logon para um usuário específico e atribui uma senha. A opção MUST_CHANGE requer que os usuários alterem essa senha na primeira vez em que eles conectam ao servidor.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO

C. Criando um logon mapeado para uma credencial

Aplica-se a SQL Server.

O exemplo a seguir cria o logon para um usuário específico usando o usuário. Esse logon é mapeado para a credencial.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credentialName>;
GO

D. Criando um logon por meio de um certificado

Aplica-se a SQL Server.

O exemplo a seguir cria um logon para um usuário específico de um certificado em master.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

E. Criando um logon por meio de uma conta de domínio do Windows

Aplica-se a SQL Server.

O exemplo a seguir cria um logon a partir de uma conta de domínio do Windows.

CREATE LOGIN [<domainName>\<login_name>] FROM WINDOWS;
GO

Consulte também

Referência

ALTER LOGIN (Transact-SQL)

DROP LOGIN (Transact-SQL)

EVENTDATA (Transact-SQL)

Conceitos

Entidades (Mecanismo de Banco de Dados)

Política de senha

Crie um logon