sqlserver 登录时 默认数据库找不到错误(4064)解决

打开08r2数据库出现默认数据库打不开错误4064。就结了好久都没搞定,今天终于搞定了。

一、如果还有其他管理员角色的账户可以登录的情况忽略,相信会用sqlserver的同志们都会解决(提一下,用其他用户登录后修改。也可以用下一种)。

二、当没有其他用户可以登录时,怎么解决呢?(作者就属于人品暴差的这后一种)

1.windows身份验证

cmd下键入:

osql /E  /d"msdb" /Q"exec sp_defaultdb N'username', N'msdb'"

回车

2.sqlserver身份验证

cmd下键入:

osql /S. /Uusername /Ppassword /d"msdb" /Q"exec sp_defaultdb N'username', N'msdb'"

(/S 要登录的服务器,‘.’表示本机。/U后边是用来登录用户名。/P后边是密码)

回车


/d"msdb" 只要连接的数据库为msdb。后边的是要执行一个系统自带的存储过程,这个存储过程是用来修改用户默认数据库的。两个参数,用户名和数据库。

这个命令也可以分开执行。osql /E  /d"msdb"这一句其实是连接到指定数据库。/Q这一句是要执行的查询语句。

可以连接到数据库之后在执行那个存储过程,也可以达到效果。具体怎么写忽略。

OK问题解决。


经过这一个错误,浪费这么多时间,我决定多留几个管理员角色账户已防发生类似情况或更糟糕的情况啊……快哭了



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值