关于sql2005中遇到“无法打开用户默认数据库”的解决方法(不是sa进不去)

事情是这样的,这阵在做一个项目时,之前因为需要要移动数据库到其他机子继续开发时,我是分离后再在其他机子上附加上去的,没出过问题。而且做完后在分离,再拿到我原来机上附加也是很顺利的。但是前几天我的机子重装了下系统,再把数据库附加上去,用该用户名登陆的时候,问题出现了,弹出“无法打开用户默认数据库”。我是已经建立了该数据库的用户名了啊。网上查了下,方法倒是有,但千篇一律都是文章后面的那种方法(见文章底部),我试过了,没用,问题依旧。

我唯有自己慢慢摸索了。

我发现,我在原来附加数据库时,那个数据库下本身已经有一个用户名的了,而我新建的用户名跟它一样,也指向它,但就是登陆失败。我也给了它足够的权限。 会不会数据库本身那里要设置?于是我右击该数据库属性,点击文件:发现有项“所有者”的地方,显示的是sa,原来如此!!于是我点击浏览重新分配用户名。然后确定,退出。再用该用户名登陆,成功了。

附:下面是网上的解决方法:

)对于SQL Server 2000数据库使用isql命令行工具(这个工具在“C:/Program Files/Microsoft SQL Server/80/Tools/Binn”目录下)
  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)对于SQL Server 2005数据库,没有isql命令行工具,我们只能用sqlcmd命令行工具了,(这个工具在“C:/Program Files/Microsoft SQL Server/90/Tools/Binn”目录下)
      sqlcmd -E -S 数据库服务器名称 -d master
      进入之后,对于windows验证方式,使用如下命令:
      exec sp_defaultdb N'BUILTIN/Administrators', N'master'
      go
      
对于sa登录,使用如下命令:
      exec sp_defaultdb N'sa', N'master'
      go
再次登录的话,就可以登录成功了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值