无法打开用户默认数据库的解决方法(SQL Server 2000和SQL Server 2005)

      最近帮朋友解决了个问题,他将SA用户的默认数据库改为别的数据库了,然后又将那个别的数据库给分离掉了,结果使用SA用户登录和windows用户登录的时候都报错,如图所示:
 


经过在网上寻找解决方案,我发现,如下方法可以解决类似的问题。
1)对于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
再次登录的话,就可以登录成功了

posted @ 2009-09-11 10:25  IT爱好者  阅读(8050)  评论(7编辑  收藏  举报