none
MASTER.DBO.SYSLOGINS NÃO EXISTE NO SQL 2008 RRS feed

  • Pergunta

  • Eu estou tentando criar um usuário mas sempre recebo uma mensagem dizendo que esse objeto não existe.

    Msg 208, Level 16, State 1, Line 2

    Invalid object name 'MASTER.DBO.SYSLOGINS'.

    Msg 2812, Level 16, State 62, Line 2

    Could not find stored procedure 'sp_addalias'.

    Msg 208, Level 16, State 1, Line 2

    Invalid object name 'MASTER.DBO.SYSLOGINS'.

    Agora o banco master existe, porém SYSLOGINS eu não achei.
    Li neste site http://www.thereforesystems.com/check-if-a-login-exists-in-sql-server-2008/ que esse MASTER.DBO.SYSLOGINS, existe apenas por questão de compatibilidade em versão anterior do SQL mas que será retirado no futuro, será o meu caso? Agora como recrio esse cara?
    Enquanto não encontro uma solução, o que estou tentando fazer é:
    - Já estou baixando o SQL 2008 do site eopen, irei instalar em uma VM por exemplo, tentar pegar esse MASTER.DBO.SYSLOGINS e subir no meu SQL de produção, será que dá certo?

    quinta-feira, 8 de dezembro de 2011 20:11

Todas as Respostas

  • Leticia,

     

    De forma simples, a criação de logins deve ser feita assim:

     

    CREATE

     

    LOGIN [Teste] WITH PASSWORD=N'Teste', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

    O que voce esta tentando fazer com a syslogins?


    Fabrizzio A. Caputo
    MCT
    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
    sexta-feira, 9 de dezembro de 2011 13:38
    Moderador
  • Letícia,

    Você poderia mostrar como esta tentando criar este usuário por linha de comando?

    Esta tabela de sistema existe sim!!!

    Você pode utilizar a syslogins existente desde o SQL Server 2000 como também a sys.syslogins disponível a partir do SQL Server 2005, mantida no 2008 e R2.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 10 de dezembro de 2011 23:59
    Moderador
  • Boa Tarde,

    Se para criar um login você está fazendo uso dessa tabela, há algo errado. O comando recomendado de criação de logins é o CREATE LOGIN, mas mesmo que você faça uso de comandos mais antigos como sp_addlogin ou sp_grantlogin, eles funcionam sem a necessidade de consultar direto essa tabela. Caso você esteja fazendo uma consulta a parte, utilize a sys.server_principals para efetuar suas consultas.

    O SQL Server 2000 gravava os dados na sysxlogins e essa não existe no 2005 e superiores. A syslogins no SQL Server 2000 era uma view que apontava para a sysxlogins, mas no 2005 e superiores ela irá usar a sys.server_principals e por isso é mais uma razão para você utilizá-la também.

    Utilizar o 2008 não irá fazer a syslogins aparecer no master.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql 


    Classifique as respostas. O seu feedback é imprescindível
    domingo, 18 de dezembro de 2011 15:39