locked
Erro na criacao de usuario windows RRS feed

  • Pergunta

  • Bom dia,

    Estou com o seguinte problema com um SQL Server 2008 R2 ENTERPRISE rodando um WINDOWS SERVER 2008 R2.

    Na criação de um usuario windows no SQL Server estou tendo problemas com o nome do usuario que simplesmente diminui de tamanho.

    Por exemplo: ao executar o comando abaixo me retorna um erro dizendo que usuario não existe.

    USE

     

    [master]

    GO

    CREATE

     

    LOGIN [DOMINIO\_SQLServer2005AccountService] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

    GO

    Porem ao utulizar a ferramenta gráfica o usuario é encontrado com o nome completo mas o nome que o SQL reconhece para criar o usuario é DOMINIO\_SQLServer2005Accoun cortando algumas letras. 

    Procurei pelo metodo de autenticação e descobri que estava utilizando NTLM ao inves de KERBEROS. Corrigi esse problema registrando SPN do servidor SQL Server.

    Para validar isso se o mode autenticação esá como KERBEROS executei o comando

    SELECT

     

    auth_scheme FROM sys.dm_exec_connections where session_id = @@SPID

    Isso me provou que agora estou autenticando via KERBEROS.

    Pelo que percebi o SQL ainda está buscando informações de compatibilidade do WINDOWS 2000.

    O que devo fazer para o SQL autenticar meu usuario com o nome completo?

    Alguem já passou por isso?

    Obrigado

     

     

     

    quarta-feira, 18 de agosto de 2010 12:32

Respostas

Todas as Respostas

  • Tiago,

    Bom, gostaria de saber como você registrou o SPN no SQL Server?

    Mas faço um teste, realize a sua autenticação por exemplo com a conta SA, abra uma nova query, rode o mesmo comando:

    SELECT

     

    auth_scheme FROM sys.dm_exec_connections where session_id = @@SPID

    Com certeza o resultado da coluna Auth_Scheme será: SQL, neste caso, você estará trabalhando com o esquema de autenticação SQL.

    Este coluna retorno o valor com base no mecanismo de autenticação de acordo com a conta e forma de autenticação realizada, nunca retornará um valor nulo.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quarta-feira, 18 de agosto de 2010 13:45
    Moderador
  • Tiago,

    Este seu SQL Server esta registrado no seu AD?

    A partir do SQL Server 2008, o suporte para SPNs foi estendido para habilitar a autenticação mútua em todos os protocolos. Em versões anteriores do SQL Server, os SPNs foram apenas suportados para Kerberos em TCP quando o SPN padrão para a instância do SQL Server foi registrado com o Active Directory.

    Os SPNs são usados pelo protocolo de autenticação para determinar a conta em que uma instância do SQL Server é executada. Se a conta da instância for conhecida, autenticação Kerberos poderá ser usada para fornecer autenticação mútua pelo cliente e servidor. Se a conta de instância não for conhecida, a autenticação NTLM, que só fornece autenticação do cliente pelo servidor, será usada. Atualmente, o SQL Server Native Client executa a pesquisa de autenticação, derivando o SPN das propriedades de nome da instância e conexão de rede. As instâncias do SQL Server tentarão registrar os SPNs na inicialização ou elas poderão ser registradas manualmente. Porém, o registro falhará se houver direitos de acesso insuficientes para a conta que tenta registrar os SPNs.

    As contas de domínio e computador são registradas automaticamente no Active Directory. Elas podem ser usadas como SPNs ou os administradores podem definir seus próprios SPNs. O SQL Server 2008 torna a autenticação segura mais gerenciável e confiável, permitindo que os clientes especifiquem diretamente o SPN a ser usado.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quarta-feira, 18 de agosto de 2010 13:48
    Moderador
  • Olá Junior,

    O meu SQL está registrado no AD. Com isso eu habilito a autenticação por KERBEROS.

    "Bom, gostaria de saber como você registrou o SPN no SQL Server?" Na verdade ele não registrou no SQL e sim no AD. Eu liberei permissões para a conta de dominio que inicia o serviço do SQL.

    O meu problema é que o SQL não reconhece mais que 20 caracteres no nome de usuario com autenticação windows!

    Isso é uma restrição de produto? Ou é algo configuravel?

    Obrigado

    quarta-feira, 18 de agosto de 2010 14:05
  • Tiago,

    Foi o que eu pensei, você registrou o SQL Server no AD e liberou as permissões para trabalhar com autenticação com base no Kerberos.

    Não tenho certeza, mas esta quantidade de caracteres para o nome do usuário baseado em contas do windows, é um padrão do SQL Server.

    Estou consultando algumas documentações, mas até agora não encontrei nada.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quarta-feira, 18 de agosto de 2010 14:10
    Moderador
  • Obrigado Junior,

    Se vc puder me encaminhar essa documentação, pois no BOL não consegui achar!

    quarta-feira, 18 de agosto de 2010 14:14
  • Tiago,

    Busquei informações na Base de Conhecimento da Microsoft, acessando: http://support.microsoft.com/default.aspx/kb/242450/PT-BR/


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quarta-feira, 18 de agosto de 2010 14:17
    Moderador
  • Post antigo, por isso o mesmo foi encerrado.

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 5 de junho de 2018 13:09
    Moderador