SQL Server 2008无法打开用户默认数据库 - 错误4064

时间:2017-10-23 10:43:29

标签: sql-server sql-server-2008

我有一个数据库应用程序,过去一直运行良好,但自从几周前恢复我的服务器以来,主用户登录已停止工作 -  我尝试从SSMS登录时收到此错误。 默认数据库是为相关用户正确定义的,我可以使用sa用户连接到(并查询)该数据库。数据库在线,设置为MULTI_USER,未设置为紧急状态,并且不是数据库镜像的一部分。被拒绝访问的用户不是组的成员,并且我已确认为该用户正确设置了默认数据库。如果我可以使用sa用户连接到相关数据库,那么我选择的用户/登录信息显然存在问题,但我已经没有想法了。有人可以帮忙吗? 我在Windows 2008 Server上运行SQL Server 2008。

1 个答案:

答案 0 :(得分:1)

您可以在以下情况下收到此错误:

  • 数据库不存在
  • 数据库无法打开(脱机,正在恢复等)
  • 您的登录名未映射到数据库

如果您确定该数据库存在且处于联机状态,则user可能会成为孤立状态。 这意味着登录的sid与用户的sid不对应,这可能是由恢复造成的。

您可以通过登录来修改用户来修复此问题:

alter user MyUser with login = MyLogin