分离了sa默认的数据库 , 用sa登录不了的解决方法

今天作了一动作分离了sa的默认数据库,导致无法用sa登陆sql server
但是我还没windows身份登陆sqlserver的权限,
最后经过BD查找解决了:
  sp_defaultdb   'sa','newdbname'
  用T-SQL语句来修改sa的默认数据库,就可以登陆进去了.进去以后再将分离的数据库附加回来就OK了.嘿嘿

通常来讲遇到删除(脱机,分离等)默认数据库导致无法登陆的情况,要通过以下几种途径去解决:

1。windows用户登录就可以了(如果有权限的情况下),再做相应的操作

2。如果有建过其它有权限的sql用户话,可以通过其他用户来登录进来再作相应的操作,以保证sql恢复正常使用

3.用sp_defaultdb   'sa','newdbname'语句来修改默认的数据库

 

from:


另外一篇文章

用cmd

在 C:\program files\Microsoft Sql server\90\Tools\Binn

的 sqlcmd

sqlcmd -E -S  数据库服务器 -d 数据库

 然后


exec sp_defaultdb N'sa', N'master'
go


重新登录ok

ps:我试验结果没生效。

 

======

 

事实上我作的操作是重启机器,用windows登录方式登录,附加数据库。再建立一个登录用户,以防sa登录其他都没办法登录。另外给新建的用户赋予足够的权限,否则无法进行一些特定的操作。

PS:1 未重启前,我使用windows登录方式登录不了。

       2 网上一些说用语句操作,但都登录不了,怎么语句操作。

 

教训总结:

不要把经常要copy操作的database 作为默认,以master等其他数据库作为默认。

不要仅仅弄一个sa登录用户,建立多一些不同权限、角色的登录名。

 

 

posted @ 2011-01-29 11:03  邓维  阅读(1957)  评论(0编辑  收藏  举报