我的是sql2008 原来用windows打开的。后来自己不知怎么搞的在安全性中动了一下,现在打不开了,提示:无法打开用户墨认的数据库。登陆失败。用户“grt\cheng yi shan”登陆失败。ms sql server 错误:4064怎么办?请高手指点!!!

解决方案 »

  1.   

    sa能登陆吗?
    重新建立一个同名的windows登陆账户看看
      

  2.   

      一、原因   登录帐户的默认数据库被删除。   二、解决方法:   (一)、使用管理员帐户修改此帐户的默认数据库   1、打开企业管理器,展开服务器组,然后展开服务器   2. 展开"安全性",展开登录,右击相应的登录帐户,从弹出的菜单中选择,属性   3、重新选择此登录帐户的默认数据库   (二)、若没有其他管理员登录帐户,无法在企业管理器里修改,使用isql命令行工具   isql /U"sa" /P"sa的密码" /d"master" /Q"exec sp_defaultdb N'sa', N'master'"   如果使用Windows验证方式,使用如下命令行,将默认数据库改成非丢失的数据库:   isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'" 
      

  3.   

    2)对于sql server 2005/2008数据库,没有isql命令行工具,我们只能用sqlcmd命令行工具了,
          sqlcmd -e -s 数据库服务器名称 -d master
          进入之后,对于windows验证方式,使用如下命令:
          exec sp_defaultdb n'builtin\administrators', n'master'
          go
          对于sa登录,使用如下命令:
          exec sp_defaultdb n'sa', n'master'
          go
    再次登录的话,就可以登录成功了
      

  4.   

    http://support.microsoft.com/kb/307864
      

  5.   

    用户名和密码都对吗?可以通过SA登陆进行相关设置。修改该用户(grt\cheng yi shan)的密码或者配置信息或者安全性配置信息
      

  6.   

    exec sp_defaultdb n'builtin\administrators', n'master'
          go
    提示有语法错误
      

  7.   

    难道就没办法了吗?我是删了一个数据库,回头就进不了了,是不是微软的bug?
      

  8.   

    有试过这个没?ALTER LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName
      

  9.   

    试过了,不行.
    提示:无法对登陆名sqllogin更改 因它不存在,或者你没有权限。
      

  10.   


    这个登陆名是指你的登陆名呀。你是用sa,则可以使用
    ALTER LOGIN sa WITH DEFAULT_DATABASE = master
      

  11.   

    我登陆时没名,用的是windows方式啊。
    后来它提示我的xxx\xxxxxxx无法登陆,我只做了二个动作:
    1.删了一个数据库
    2.瞎改了登陆名,其中写过xxx\xxxxxx
    这样就进不去了我再试下
      

  12.   

    我在sqlcmd中运行,提示:DEFAULT_DATABASE 有语法错误
      

  13.   


    C:\Documents and Settings\xxx>sqlcmd -S. -E
    1> alter Login tt with default_database=master
    2> go
    1> alter Login tt with default_database=test
    2> go
    消息 15010,级别 16,状态 1,服务器 C01167,第 1 行
    数据库 'test' 不存在。请提供有效的数据库名称。若要查看可用数据库,请使用 sys.databases。
    1> alter Login tt with default_database=msdb
    2> go
    1> exec sp_helplogins 'tt'
    2> go
    LoginName SID                                                                                     DefDBName DefLangName
    AUser ARemote
    --------- --------------------------------------------------------------------------------------- --------- -----------
    ----- -------
    tt        0x81F56612CDEC904DBDA56F902ACC7A0B                                                      msdb      简体中文
        yes   no(1 行受影响)
    LoginName DBName                       UserName                   UserOrAlias
    --------- ---------------------------- -------------------------- -----------
    tt        AdventureWorks               db_datareader              MemberOf
    tt        AdventureWorks               db_datawriter              MemberOf
    tt        AdventureWorks               db_owner                   MemberOf
    tt        AdventureWorks               tt                         User(4 行受影响)
    1>
    我的都可以。