如果用户试图连接到运行MS SQL的计算机,但在建立连接时未能指定登录数据库,则计算机将使用默认数据库。有时默认数据库不可用。您会收到“无法打开用户默认数据库”。登录失败。用户UserName登录失败。(Microsoft SQL Server,错误:4064)"SQL Server错误提示,无法打开用户默认数据库。
可能原因-无法打开用户默认数据库
用户默认数据库在连接时不可用。主要原因如下:
- 数据库在怀疑模式.
- 它被设置为紧急状态,或者它是数据库镜像的一部分。
- 默认数据库(DB)缺失或已设置为脱机、分离或RESTRICTED_USER状态。
- 数据库没有将登录帐户映射到用户,或者用户已被拒绝访问。
- DB处于单用户模式,并且唯一可用的连接已经被其他人或其他东西使用。
- 登录帐户可能是多个组的成员,并且其中一个组的默认数据库在连接时不可用。
还有更多可能导致错误代码4064/4062的原因。但是修复SQL Server错误的方法是一样的。继续阅读,了解如何修复SQL数据库错误4064/4062并修复数据库。
修复“无法打开用户默认数据库”错误的解决方案
根据上述原因,要做的第一件事是登录另一个可以修改登录的用户帐户,并更改用户在连接期间可用的默认数据库。然后,在连接字符串中指定有效的数据库。如果这不起作用,请更改默认数据库。
解决方法1:修改SQL Server 2005及后续版本的默认数据库
在SQL Server 2005、SQL Server 2000和SQL Server 7.0中,可以使用sqlcmd工具修改默认数据库。要做到这一点,请遵循以下步骤:
适用于SQL Server 2005及以后版本
步骤1:点击“开始”,点击“运行”,输入cmd,然后按“Enter”。根据SQL Server登录使用的身份验证类型,可以使用以下方法之一:
1.如果SQL Server登录使用Microsoft Windows身份验证连接到实例,请在命令提示符处输入以下命令,然后按“Enter”:
sqlcmd E -S InstanceName d master
2.如果SQL Server登录使用SQL Server身份验证连接到实例,请在命令提示符下输入以下命令,然后按“Enter”:
sqlcmd -S InstanceName -d master -U SQLLogin -P Password
- 提示
- InstanceName是您要连接到的SQL Server 2005实例的名称的占位符。
- SQLLogin是默认数据库已删除的SQL Server登录的占位符。
- “Password”是SQL Server登录密码的占位符。
步骤2:在sqlcmd提示符下,输入以下命令,然后按“Enter”:
修改登录SQLLogin为DEFAULT_DATABASE = AvailDBName
注意:AvailDBName是一个占位符,表示实例中的SQL Server登录可以访问的现有数据库的名称。
步骤3:在sqlcmd提示符下,键入去,然后按“Enter”。
适用于SQL Server 2000和SQL Server 7.0
对于SQL Server 2000和SQL Server 7.0用户来说,更改默认数据库的步骤似乎更容易。
步骤1:在命令提示符下,输入以下命令,然后按“Enter”:
C:\>osql -E -d master
步骤2:输入以下内容,然后按“Enter”:
1>sp_defaultdb 'user's_login', 'master'
步骤3:输入以下内容,然后按“Enter”:
2 >
解决方案2:使用专业可靠的SQL数据库恢复软件
在大多数情况下,用户将按照上述步骤修复数据库并再次访问它。如果你还是打不开呢?如果你处在这样的情况下,不要犹豫去尝试EaseUS MS SQL恢复工具修复数据库。
这个软件可以修复损坏错误内建工具失效的地方。同样的软件解决了SQL 2005和SQL 2007及以上版本的问题。按照以下步骤执行数据库修复:
步骤1:选择损坏的数据库进行恢复
- 启动EaseUS MS SQL恢复。
- 点击“浏览”(两个点)或“搜索”选择损坏的数据库文件。
- 选择文件后,单击“修复”按钮开始分析过程。
注意:使用该软件前,需要停止SQL Server服务。
步骤2:修复损坏的数据库
- 该软件以树形结构显示所有可恢复的项目。项目显示在左侧窗格中。
- 选择需要恢复的组件。在窗口中,单击“导出”按钮。
步骤3:导出到数据库或作为脚本
- 选择将数据库对象导出到数据库或将项导出为脚本
- 如果选择“Export to database”,请输入所需信息并选择目标数据库。
- 这时会出现一个窗口,要求您提供连接到服务器的凭据和保存恢复项目的目的地。为了开始修复过程,点击“确定”。
注意:单击“确定”前,需要重新启动SQL Server服务。
这个页面有用吗?
相关文章
塞德里克/ 2023-02-22
修复SQL Server 2014/2016/2017恢复挂起状态的简单方法
塞德里克/ 2023-02-22
特蕾西王/ 2023-02-22
如何修复数据库从MDF文件在SQL Server 2008/2008 R2
塞德里克/ 2023-02-22