locked
Conexao com ASP - usuario sa RRS feed

  • Pergunta

  • Pessoal, executei a seguinte conexao com ASP e SQL Server 2008 Express (uso o WinXP):

    '-----------------------------------------------------------------------------------------------------------

    Dim conexao, stringConexao, host, usuario, senha, banco


    '##Informe os dados de conexão junto ao banco Microsoft SQL Server
    host = "nome maquina" 
    usuario= "sa"
    senha = "123"
    banco = "meuBD"


    '##Monta a string de conexão utilizando os dados informados anteriormente
    stringConexao = "Provider=SQLOLEDB;SERVER="&host&";DATABASE="&banco&";UID="&usuario&";PWD="&senha&";"

    '##Instancia o objeto de conexão com o banco
    SET conexao = Server.CreateObject("ADODB.Connection")


    '-----------------------------------------------------------------------------------------------------------

    Porem só consegui conectar com o usuario "sa" (autenticação do SQL Server)...
    com o usuario criado (NOMEMAQUINA\Usuario) e Autenticação do Windows não é estabelecida conexao? Dá o erro de falha de logon....

    É esse o modo correto? com o usuario sa? Ou devo estabelecer conexao com o usuario criado com permissoes especificas para maior segurança?

    Pesquisei tutoriais mas nao encontrei nada que resolvesse essa duvida...


    Abrass

    • Movido Gustavo Maia Aguiar segunda-feira, 10 de outubro de 2011 16:52 (De:SQL Server - Desenvolvimento Geral)
    segunda-feira, 10 de outubro de 2011 15:31

Respostas

  • Leandro,

     

    1 - O nome da instancia SQL Server é sempre HostName\InstanceName, porem, é possivel ter em cada hostname, uma instancia default, que para se conectar nela, basta especificar o hostname, para todas as outras instancias, é necessario especificar um nome.

    Para verificar se sua instancia é default ou nomeada va em:

    Executar -> Services.msc -> Busque pelo serviço SQL Server(Nome), caso nome seja MSSQLSERVER, ela é uma instancia default, caso seja outro nome, sera preciso explicitar o instance name em sua conexão, voce disse que se conecta normalmente pelo SSMS, portanto, basta copiar igual.

     

    2 - Em relação a segurança, tudo depende de muitas coisas, mas falando do basico, a senha SA pertence unicamente a equipe DBA, porem cada DBA possui seu usuario SysAdmin, para configurações mais avançadas de segurança seria preciso entender todo seu ambiente, não seria correto por exemplo falar para tirar acesso owner dos usuarios das bases, caso o mesmo fosse necessario para seu negocio.

     

    3 - Sim, quando voce utilizar autenticação windows, voce não coloca senha em sua conexão, neste caso, o SQL Server utiliza o serviço de autenticação do Kerberos do Windows, que é realmente mais seguro, portanto, se voce logar no Kerberos, vai logar na instancia, portanto, teoricamente se voce logou no windows com seu usuario e possui um usuario criado na instancia SQL Server, voce conseguira logar.

     

    4 - Saiba que não apenas o login te dara permissoes, é necessario o usuario estar ativo e habilitado para conexões, alem de precisar coloca-lo em alguma database, se não voce tera um erro que a default database esta inacessivel.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 11 de outubro de 2011 02:55
    Moderador

Todas as Respostas

  • Leandro

    Foi criado um login para o usuario do windows no sql? foi concedido as permissoes?


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    segunda-feira, 10 de outubro de 2011 15:51
    Moderador
  • Olá Marcelo...o usuario foi criado sim....seria esse nomemaquina\Leandro?

    A nao ser q eu esteja enganado...desculpe, estou iniciando no SQL....

    Porque com esse usuario consigo fazert login no BD (autenticação do windows) e esta ate sem senha...

    Quando conecto com o usuario sa e clico com o botao dir sobre essa instancia/ Propriedades/ Permissoes/ sobre o usuario nomemaquina\Leandro esta concedida a permissão "Conectar SQL"...

    Como configurar corretamente esses usuarios? Qual o modo correto de deixar esse BD segura na intranet?

    Obg a tds...

    terça-feira, 11 de outubro de 2011 01:05
  • Leandro,

     

    1 - O nome da instancia SQL Server é sempre HostName\InstanceName, porem, é possivel ter em cada hostname, uma instancia default, que para se conectar nela, basta especificar o hostname, para todas as outras instancias, é necessario especificar um nome.

    Para verificar se sua instancia é default ou nomeada va em:

    Executar -> Services.msc -> Busque pelo serviço SQL Server(Nome), caso nome seja MSSQLSERVER, ela é uma instancia default, caso seja outro nome, sera preciso explicitar o instance name em sua conexão, voce disse que se conecta normalmente pelo SSMS, portanto, basta copiar igual.

     

    2 - Em relação a segurança, tudo depende de muitas coisas, mas falando do basico, a senha SA pertence unicamente a equipe DBA, porem cada DBA possui seu usuario SysAdmin, para configurações mais avançadas de segurança seria preciso entender todo seu ambiente, não seria correto por exemplo falar para tirar acesso owner dos usuarios das bases, caso o mesmo fosse necessario para seu negocio.

     

    3 - Sim, quando voce utilizar autenticação windows, voce não coloca senha em sua conexão, neste caso, o SQL Server utiliza o serviço de autenticação do Kerberos do Windows, que é realmente mais seguro, portanto, se voce logar no Kerberos, vai logar na instancia, portanto, teoricamente se voce logou no windows com seu usuario e possui um usuario criado na instancia SQL Server, voce conseguira logar.

     

    4 - Saiba que não apenas o login te dara permissoes, é necessario o usuario estar ativo e habilitado para conexões, alem de precisar coloca-lo em alguma database, se não voce tera um erro que a default database esta inacessivel.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 11 de outubro de 2011 02:55
    Moderador