无法打开用户默认数据库的解决方法(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
再次登录的话,就可以登录成功了
经过在网上寻找解决方案,我发现,如下方法可以解决类似的问题。
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
再次登录的话,就可以登录成功了