当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 讲解无法打开用户默认数据库的解决方法

MSSQL
获取MSSQL数据字典的SQL语句
Microsoft Search 服务无法启动 解决办法.
找出所有非xml索引并重新整理的sql
SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
删除重复记录,并且剩下一条
select * from sp_who的解决方案
Sql语句与存储过程查询数据的性能测试实现代码
MSSQL 游标使用 心得
SQL 时间类型的模糊查询
mssql 指定字段编号sql语句
sql server中的decimal或者numeric的精度问题
sql 数据库还原图文教程
存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
MSSQL SERVER中的BETWEEN AND的使用
SQL Server约束增强的两点建议
SQL Server 更改DB的Collation
Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
SQL Server的复制功能
sql 普通行列转换

MSSQL 中的 讲解无法打开用户默认数据库的解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 119 ::
收藏到网摘: n/a

无法打开用户默认数据库,登录失败,这也是SQL Server使用者熟悉的问题之一。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。

一、原因

登录帐户的默认数据库被删除。

二、解决方法:

(一)、使用管理员帐户修改此帐户的默认数据库

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'"

(2)由于改变了系统密码导致SQLSErver无法启动

解决办法是:

点击运行,键入services.msc,打开服务程序,找到SQLSERVER项目,选择属性项之二-‘登录’,把登录密码改为操作系统Administrator帐户登录密码,重新启动SQLSErver,即可正常启动。

SQL Server 2005

在 SQL Server 2005 中,可以使用 sqlcmd 实用程序更改默认数据库。为此,请按照下列步骤操作:◆1. 单击“开始”,单击“运行”,键入 cmd,然后按 Enter。

◆2. 根据 SQL Server 登录使用的身份验证种类,请使用以下方法之一:? 如果 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

注意:InstanceName 是要连接到的 SQL Server 2005 实例的名称的占位符。SQLLogin 是已删除其默认数据库的 SQL Server 登录的占位符。Password 是 SQL Server 登录密码的占位符。

◆3. 在 sqlcmd 提示符处,键入以下内容,然后按 Enter:

Alter LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName

注意:AvailDBName 是可由实例中 SQL Server 登录访问的现有数据库的名称的占位符。

◆4. 在 sqlcmd 提示符处,键入 GO,然后按 Enter。