分离了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
go
重新登录ok
ps:我试验结果没生效。
======
事实上我作的操作是重启机器,用windows登录方式登录,附加数据库。再建立一个登录用户,以防sa登录其他都没办法登录。另外给新建的用户赋予足够的权限,否则无法进行一些特定的操作。
PS:1 未重启前,我使用windows登录方式登录不了。
2 网上一些说用语句操作,但都登录不了,怎么语句操作。
教训总结:
不要把经常要copy操作的database 作为默认,以master等其他数据库作为默认。
不要仅仅弄一个sa登录用户,建立多一些不同权限、角色的登录名。