none
如何解决 错误4064-无法打开用户默认数据库这个错误? RRS feed

  • 问题

  • 经常有用户在登录数据库的时候,出现错误4064这种登录问题。与错误18456不同,导致错误4064的原因是一些用户默认连接的数据库被删除,所以在用户登录的时候,会出现这样的一个报错。那么,我们应该如何解决这个错误呢?
    2012年3月5日 5:53
    版主

答案

  • 我们有多种方法来解决这个错误。以下方法适用但不限于SQL Server 2005:
    1. 通过SQL Server Management Studio:在登录SQL Server的“connect to server” 界面, 选择“options”, 修改“connection properties”标签下面的“connect to database”项,将default修改为master。
    2. 通过SQL 语句修改: 使用其他拥有相应权限的用户登录SQL Server,执行下列语句:
    ALTER LOGIN [test] WITH DEFAULT_DATABASE = master
     GO
    其中test为你登录失败的用户名。
    3. 通过sqlcmd命令修改:
    如果 SQL Server 登录使用 Microsoft Windows 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:
    sqlcmd –E -S InstanceName –d master
    如果 SQL Server 登录使用 SQL Server 身份验证连接到该实例,请在命令提示符处键入以下内容,然后按 Enter:
    sqlcmd -S InstanceName -d master -U SQLLogin -P Password

    在SQL Server2000和7.0中,我们可以使用osql更改默认数据库,操作步骤如下:
    1.在命令提示符处,键入C:\>osql -E ,然后按 Enter;
    2.在“osql”提示符处,键入1>sp_defaultdb 'user's_login', 'master' ,按 Enter;
    3.在第二个提示符处,键入2>go,按 Enter:

    2012年3月5日 5:54
    版主